Dynamic scheduling method and device for laboratory automation
Through the use of dynamic scheduling methods in laboratory automation, to build a mixed -integer linear planning model, it solves the problem of dead lock problems and subsequent process dependencies in multi -session scenarios, and realizes efficient automation experimental dynamic schedule and dynamic dynamic schedule and High -throughput effect.
Patent Information
- Application Number
- CN202411492937.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-24
- Publication Date
- 2025-01-28
AI Technical Summary
In laboratory automation, deadlocks are prone to occur when robots execute experimental processes in parallel in multi-throughput scenarios, and the subsequent processes rely on previous experimental results, it is difficult for the existing technology to effectively solve these problems.
Adopt a dynamic schedule method, set the process steps of parallel experimental flux by setting up a parallel experimental general through the pre -processing module, the algorithm schedule module builds a hybrid linear planning model, solve the sequence of the steps of the step instruction of the parallel experimental general volume process, and distribute and distribute the module through the scheduling execution module and distribute the module and distribute and distribute the module and distribute the module and distribute and distribute the module. Execute step instructions.
The efficient automation experimental dynamic schedule in multi -channel scenarios is realized, the probability of the deadlock occurs, supports complex experimental application scenarios, and improves the volume of laboratory automation.
Smart Images

Figure CN119376250A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of laboratory automation, and in particular to a dynamic scheduling method and equipment for laboratory automation. Background Art
[0002] With the advancement of science and technology in my country and the continuous improvement of medical needs, the application of laboratory automation is increasing. Laboratory automation is the introduction of automated equipment such as robots and robotic arms into medical research and development laboratories. Without human intervention, the robot can carry reagent plates and operate instruments and equipment, so that experiments can be carried out 24 hours a day in a closed and dust-free environment. This replaces the repetitive work of laboratory R&D personnel. Robots have the characteristics of accuracy, consistency and safety.
[0003] Laboratory automation pursues high throughput effects, so robots often need to execute different throughput experimental processes in the same period of time. Considering the occupancy of laboratory equipment in multi-throughput scenarios, this kind of robot multi-throughput parallel is likely to cause deadlock and terminate the experiment. In addition, there are often scenarios in the experimental process where subsequent processes depend on experimental results, such as performing different processing tasks on effective or not samples. Existing scheduling technologies cannot solve these problems. Summary of the invention
[0004] The object of the present invention is to provide a dynamic scheduling method and device for laboratory automation.
[0005] To solve the above problems, the present invention provides a dynamic scheduling method for laboratory automation, comprising:
[0006] The preprocessing module sets the process steps of each experimental flux in parallel, and the process steps of each experimental flux include: the process steps of each experimental flux or sub-flux; wherein, the process steps of each experimental flux or sub-flux include: controlling the robot to transport the orifice plate carrying the material, so that the slots in the experimental instrument are occupied or idle, and the steps of automatically controlling the start and stop of the experimental instrument, and setting the connection relationship sequence and time constraints between the steps within each experimental flux or sub-flux; wherein, the robot in a single experimental flux transports each orifice plate in parallel as each sub-flux;
[0007] The algorithm scheduling module constructs a mixed integer linear programming model based on the process steps of each experimental flux, and solves the execution order of the step instructions of the parallel experimental flux process based on the mixed integer linear programming model;
[0008] The scheduling execution module distributes the step instructions of the parallel experiment flux process in order for execution according to the execution order of the step instructions.
[0009] Furthermore, in the above method, the algorithm scheduling module, based on the process steps of each experimental flux, before constructing the mixed integer linear programming model, further includes:
[0010] The preprocessing module can also determine whether the parallel experimental process steps are a directed acyclic graph structure based on the connection relationship sequence between the parallel steps and the time constraints between the parallel steps.
[0011] If it is a directed acyclic graph structure, the parallel experiment process steps are sent to the algorithm scheduling module for further processing;
[0012] If it is not a directed acyclic graph structure, the preprocessing module adjusts the parallel experiment process steps to a directed acyclic graph structure, and then sends the parallel experiment process steps to the algorithm scheduling module for further processing.
[0013] Furthermore, in the above method, the algorithm scheduling module constructs a mixed integer linear programming model based on the process steps of each experimental flux, and solves the execution order of the step instructions of the parallel experimental flux process based on the mixed integer linear programming model, including:
[0014] The process steps of the parallel experimental flux are mathematically modeled, and based on the occupied or idle steps of the slots in each experimental flux or experimental instrument, the connection relationship sequence and time constraints between the steps of each experimental flux or sub-flux are added; based on the connection relationship sequence and time constraints between the steps of each experimental flux or sub-flux, a mixed integer linear programming model is constructed, and the completion time of all steps that minimize the maximum experimental flux or minimize the maximum sub-flux is used as the objective function of the MILP model, and the objective function is used as the scheduling target to solve the execution order of the step instructions of the parallel experimental flux process.
[0015] Furthermore, in the above method, solving the execution order of the step instructions of the parallel experimental flux process includes:
[0016] Commercial solvers including but not limited to Gurobi, COPT, and open source solvers such as SCIP and CBC are used to solve the execution order of the step instructions of each parallel experimental flux process.
[0017] Furthermore, in the above method, after the scheduling execution module distributes the step instructions of the parallel experiment flux flow in order for execution according to the execution order of the step instructions, it also includes:
[0018] The capture feedback module receives the actual completion time of the step instruction operation completed by the robot and the experimental instrument, and sends it to the algorithm scheduling module;
[0019] The algorithm scheduling module modifies the estimated completion time of the corresponding step instruction that has been executed in the algorithm scheduling module to the corresponding actual completion time based on the actual completion time of the step instruction operation received by the robot and the experimental instrument, and further updates the start time of the subsequent step instruction of the step instruction that has been executed according to the updated actual completion time. The algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the start time of the subsequent step instruction.
[0020] Furthermore, in the above method, after the scheduling execution module distributes the step instructions of the parallel experiment flux flow in order for execution according to the execution order of the step instructions, it also includes:
[0021] The capture and feedback module captures the experimental process steps to be spliced corresponding to each experimental flux or sub-flux according to the stage experimental results of each experimental flux or sub-flux during the execution of the step instruction, and returns the stage experimental results and the experimental process steps to be spliced to the preprocessing module;
[0022] The preprocessing module determines whether to perform splicing based on the received experimental process steps to be spliced.
[0023] If yes, the preprocessing module splices the experimental process steps to be spliced into the process steps of the corresponding experimental flux or sub-flux, and sends the splicing results to the algorithm scheduling module;
[0024] The algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the splicing results.
[0025] Furthermore, in the above method, the preprocessing module splices the experimental process steps to be spliced into the process steps of the corresponding experimental flux or sub-flux, including:
[0026] The preprocessing module receives the experimental process steps to be spliced, and places the experimental process steps to be spliced in the lane steps of the corresponding well plate material according to the type of the well plate material corresponding to the steps, wherein the steps of each well plate material are stored in an independent lane corresponding to the type of the well plate material according to the time constraint and the connection relationship sequence between the step and the process steps of the original experimental flux or atomic flux in the same lane step or the process steps of the original experimental flux or atomic flux in different lane steps;
[0027] The preprocessing module determines whether robot transportation is required during the execution of the process steps of the original experimental flux or atomic flux and the experimental process steps to be spliced based on the connection relationship between the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux in the lane step, wherein the connection relationship is recorded in the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux;
[0028] If robot transfer is required, a corresponding robot transfer well plate material step is generated between the experimental process step to be spliced and the process step of the original experimental flux or atomic flux, and the process step of the original experimental flux or atomic flux, the robot transfer well plate material step and the experimental process step to be spliced are connected in sequence;
[0029] If robot transfer is not required, further determine whether the step corresponds to ordinary orifice plate material or switch cover orifice plate material.
[0030] If it is a common orifice plate material other than the switch cover orifice plate material, then the experimental process steps to be spliced are generated without robot-transported orifice plate materials directly connected, that is, the process steps of the original experimental flux or atomic flux are directly connected to the experimental process steps to be spliced;
[0031] If it is a switch cover orifice plate material, the experimental process steps to be spliced are connected with the process steps of the original experimental flux or atomic flux, and the virtual step of closing the cover in the process steps of the original experimental flux or atomic flux is deleted, wherein the process steps of the original experimental flux or atomic flux already include the virtual step of closing the cover; the experimental process steps to be spliced include the real step of closing the cover.
[0032] Furthermore, in the above method, the scheduling execution module distributes the step instructions of the parallel experiment flux process in order for execution according to the execution order of the step instructions, including:
[0033] The capture feedback module captures the stage experimental results of each experimental flux or sub-flux during the execution of the step instruction, takes a snapshot of the execution status of the step instruction corresponding to the stage experimental result, and sends it to the algorithm scheduling module;
[0034] Based on the snapshot, the algorithm scheduling module obtains the corresponding step status, including: completed, in execution, scheduled to be executed or to be scheduled, and maintains and updates the relationship table between the step status and the slot status on the experimental instrument, the slot status includes: occupied or idle; based on the latest relationship table, the execution order of the step instructions of the parallel experimental flux process is iteratively optimized.
[0035] Furthermore, in the above method, based on the latest relationship table, the execution order of the step instructions of the parallel experiment flux process is iteratively optimized, including:
[0036] Based on the latest relationship table, the algorithm scheduling module algorithm detects that the experimental fluxes or sub-fluxes are waiting for slots in the experimental instrument. By introducing transit slots, the execution order of the step instructions of the parallel experimental flux process is iteratively optimized.
[0037] According to another aspect of the present invention, there is further provided a computer-readable storage medium having computer-executable instructions stored thereon, wherein when the computer-executable instructions are executed by a processor, the processor is caused to: execute any of the methods described above.
[0038] According to another aspect of the present invention, there is also provided a computer device, comprising:
[0039] Processor; and
[0040] A memory arranged to store computer executable instructions, which when executed cause the processor to: perform any of the methods described above.
[0041] Compared with the prior art, the present invention can automatically control the materials on the robot transport plate and the start and stop of the experimental instrument at the control device drive level through the preprocessing module, algorithm scheduling module and scheduling execution module, realize accurate and efficient dynamic scheduling of automated experiments, maintain the effect of high throughput, reduce the burden on operators, and support complex experimental application scenarios. In addition, the present invention can improve laboratory automation throughput by minimizing the completion time of all steps of the maximum experimental throughput or the maximum sub-flux as the objective function of the MILP model.
[0042] In addition, the present invention obtains the stage experiment results by capturing the feedback module, and the algorithm scheduling module stage can supplement the subsequent process steps according to the stage experiment results, support the complex dynamic scene requirements in laboratory automation, and realize more accurate and efficient dynamic scheduling of automated experiments.
[0043] In addition, the present invention can effectively reduce the probability of deadlock at the step update connection by iteratively optimizing the execution order of the step instructions of the parallel experiment flux process based on the latest relationship table, and for the scenario where deadlock actually occurs in the entire process, automatic unlocking is achieved by adding transit slots. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 is a schematic diagram of a dynamic scheduling method for laboratory automation according to an embodiment of the present invention;
[0045] Figure 2 is a schematic diagram of multi-flux scheduling and dynamic splicing according to an embodiment of the present invention;
[0046] Figure 3 It is a schematic diagram of multi-flux splicing according to an embodiment of the present invention. DETAILED DESCRIPTION
[0047] The present invention is further described in detail below in conjunction with the accompanying drawings.
[0048] In a typical configuration of the present application, the terminal, the device of the service network and the trusted party all include one or more processors (CPU), input / output interfaces, network interfaces and memories.
[0049] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0050] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-transitory media such as modulated data signals and carrier waves.
[0051] like Figure 1 As shown, the present invention provides a dynamic scheduling method for laboratory automation, the method comprising: steps S1 to S3, wherein:
[0052] Step S1, the preprocessing module sets the process steps of each parallel experimental flux, and the process steps of each experimental flux include: the process steps of each experimental flux or sub-flux; wherein, the process steps of each experimental flux or sub-flux include: controlling the robot to transport the orifice plate carrying the material, so that the slots in the experimental instrument (equipment) are occupied or idle, and the steps of automatically controlling the start and stop of the experimental instrument, and setting the connection relationship sequence between each step within each experimental flux or sub-flux and the time constraint between each step within each experimental flux or sub-flux; wherein, the robot parallel transport orifice plate in a single experimental flux is used as each sub-flux;
[0053] Here, when multiple parallel experiments are performed, it means that multi-throughput scheduling is required to achieve the parallel operation of multiple experiments;
[0054] In addition, even if there is only one experiment, in the single-throughput scheduling of the experimental process, if the experimental instruments and their slots and robot resources are limited, the steps of multiple well plates in the experiment can be scheduled for parallel execution, provided that the allocation of experimental instruments and robot resources is met, thus achieving parallel operation of multiple well plates in a single experiment.
[0055] Here, we use throughput to represent the number of experimental process samples executed in laboratory automation. These step processes on multiple wells executed in parallel can be understood as sub-processes of the current experimental process.
[0056] The preprocessing module converts the standard process steps in laboratory science into data structures in computer language.
[0057] Specifically, the connection relationship sequence between parallel steps includes: the connection relationship sequence between steps between various experimental fluxes or the connection relationship sequence between steps between sub-fluxes, that is, the front-to-back order between experimental steps, for example, it can be that the end step of the previous experimental flux is arranged before the end step of the next experimental flux can be arranged, for example, it can include: the transportation order of the orifice plate carrying the material on the experimental instrument;
[0058] The time constraint between parallel steps can be that the next step can only be performed after the previous step is completed, for example:
[0059] The first method: in the same experimental flux, step A of the orifice plate a carrying the material must be performed more than a preset second before step B of the orifice plate b carrying the material, i.e., performed at intervals;
[0060] Or the second way: for the same experimental flux, step A of the orifice plate a carrying the material must be performed less than the preset seconds before step B of the orifice plate b carrying the material, i.e., continuously;
[0061] Preferably, the preprocessing module can also determine whether the parallel experiment process steps are a directed acyclic graph structure based on the connection relationship sequence between the parallel steps and the time constraints between the parallel steps. If it is a directed acyclic graph structure, the parallel experiment process steps are sent to the algorithm scheduling module for further processing; if it is not a directed acyclic graph structure, the preprocessing module adjusts the parallel experiment process steps to a directed acyclic graph structure, and then sends the parallel experiment process steps to the algorithm scheduling module for further processing.
[0062] Here, the preprocessing module can check whether the currently input process is correct. For example, the standard process of laboratory science should be a directed acyclic graph structure. If it is not a directed acyclic graph structure, it means that it is a cyclic structure. The preprocessing module needs to adjust the parallel experimental process steps to a directed acyclic graph structure before sending the step process to the algorithm scheduling module for further processing.
[0063] Step S2, algorithm scheduling module: Based on the process steps of each experimental flux, a mixed integer linear programming (MILP) model is constructed, and based on the mixed integer linear programming (MILP) model, the execution order of the step instructions of the parallel experimental flux process is solved.
[0064] Preferably, step S2 may include: mathematically modeling the process steps of the parallel experimental flux, and based on the occupied or idle steps of the slots in each experimental flux or experimental instrument (equipment) and the connection relationship sequence between the steps within each experimental flux or sub-flux, increase the connection relationship sequence and time constraints between the steps between each experimental flux or sub-flux in the model; based on the connection relationship sequence and time constraints between the steps of each experimental flux or sub-flux in the model, construct a mixed integer linear programming (MILP) model, and use the completion time of all steps that minimize the maximum experimental flux or minimize the maximum sub-flux as the objective function of the MILP model, and use the objective function as the scheduling target to solve the execution order of the step instructions of the parallel experimental flux process.
[0065] Specifically, the order of connection between the steps of each experimental flux or the order of connection between the steps of the sub-fluxes, for example, may be that the end step of the previous experimental flux can be arranged only after the end step of the subsequent experimental flux has been arranged.
[0066] Here, the objective function is to minimize the completion time of all experimental fluxes or all sub-fluxes. In this step, the objective function of the MILP model is to minimize the completion time of all steps of the maximum experimental flux or the maximum sub-flux. Such an objective function is consistent with the goal of laboratory automation scheduling, that is, the throughput per unit time is as high as possible. It can be proved by duality that the minimum target for the completion time of the maximum flux under the above setting is also the scheduling target with the highest overall equipment utilization in the experimental process.
[0067] More preferably, commercial solvers including but not limited to Gurobi, COPT, etc., and open source solvers such as SCIP, CBC, etc. are used to solve the execution order of the step instructions of the parallel experimental flux process.
[0068] Step S3, scheduling execution module: distribute the step instructions of the parallel experiment flux process in order for execution according to the execution order of the step instructions.
[0069] Here, the execution of the step instructions can control the robot to transfer materials on the orifice plate and control the start and stop of the experimental instrument at the device drive level.
[0070] The present invention can automatically control the materials on the robot transfer well plate and start and stop the experimental instruments at the control device driving level through the preprocessing module, algorithm scheduling module, scheduling execution module and capture feedback module, thus forming a dynamic scheduling method for automated experiments, maintaining high-throughput effects, reducing the burden on operators, and supporting complex experimental application scenarios.
[0071] Preferably, after step S3, the following steps may also be included:
[0072] Step S4, the capture feedback module receives the actual completion time of the step instruction operation completed by the robot and the experimental instrument, and sends it to the algorithm scheduling module; the algorithm scheduling module modifies the estimated completion time of the corresponding step instruction that has been executed in the algorithm scheduling module to the corresponding actual completion time based on the actual completion time of the step instruction operation completed by the robot and the experimental instrument, and further updates the start time of the subsequent step instruction of the step instruction that has been executed according to the updated actual completion time. The algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the start time of the subsequent step instruction.
[0073] like Figures 1 to 3 As shown, preferably, after step S3, steps S5 to S6 may also be included:
[0074] Step S5, the capture and feedback module captures the experimental flow steps to be spliced corresponding to the experimental fluxes or sub-fluxes corresponding to the valid and invalid experimental flow results during the execution of the step instructions, and transmits the experimental flow steps to be spliced back to the preprocessing module; for example, the stage experimental result is the activity of the current sample displayed by enzyme labeling. If the enzyme labeling result shows that the sample has been inactivated, it is an invalid stage experimental result, and the corresponding experimental flow steps to be spliced for waste treatment are generated, for example, the robot can grab and put the waste into the waste liquid bucket; if the enzyme labeling result shows that the sample activity meets the requirements, it is a valid stage experimental result, and the experimental flow steps to be spliced are generated for executing subsequent operations such as incubation and pipetting;
[0075] In step S6 of the process step of the original experimental flux or atomic flux, the preprocessing module determines whether to perform splicing based on the received stage experimental results and the experimental process steps to be spliced. If so, the preprocessing module splices the experimental process steps to be spliced to the process steps corresponding to the original experimental flux or sub-flux, and then sends the splicing results to the algorithm scheduling module; the algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the splicing results.
[0076] Preferably, the preprocessing module splices the experimental process steps to be spliced into the process steps corresponding to the original experimental flux or sub-flux, including:
[0077] Step S61, the preprocessing module receives the experimental process steps to be spliced, and places the experimental process steps to be spliced in the lane steps of the corresponding orifice plate material according to the type of the orifice plate material corresponding to the steps, wherein the steps of each orifice plate material are stored in an independent lane corresponding to the type of the orifice plate material according to the time constraint and the connection relationship sequence between the step and the process steps of the original experimental flux or atomic flux in the same lane step or the process steps of the original experimental flux or atomic flux in different lane steps;
[0078] Here, the experimental process steps to be spliced can be spliced with other steps in the same lane, or they can cross lanes and be spliced with other steps in different lanes.
[0079] Step S62, the preprocessing module determines whether robot transportation is required during the execution of the process steps of the original experimental flux or atomic flux and the experimental process steps to be spliced based on the connection relationship between the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux in the lane step. For example, if the process steps of the original experimental flux or atomic flux and the experimental process steps to be spliced are executed on different devices, it is necessary to determine whether robot transportation is required, wherein the connection relationship is recorded in the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux;
[0080] If robot transfer is required, a corresponding robot transfer well plate material step is generated between the experimental process step to be spliced and the process step of the original experimental flux or atomic flux, and the process step of the original experimental flux or atomic flux, the robot transfer well plate material step and the experimental process step to be spliced are connected in sequence;
[0081] If robot transfer is not required, further determine whether the step corresponds to ordinary orifice plate material or switch cover orifice plate material.
[0082] If it is a common orifice plate material other than the switch cover orifice plate material, then the experimental process steps to be spliced are generated without robot-transported orifice plate materials directly connected, that is, the process steps of the original experimental flux or atomic flux are directly connected to the experimental process steps to be spliced;
[0083] If it is a switch cover orifice plate material, the experimental process steps to be spliced are connected with the process steps of the original experimental flux or atomic flux, and the virtual step of closing the cover in the process steps of the original experimental flux or atomic flux is deleted, wherein the process steps of the original experimental flux or atomic flux already include the virtual step of closing the cover; the experimental process steps to be spliced include the real step of closing the cover.
[0084] The scenario of the switch cover and orifice plate material connection is specially explained here because this scenario requires maintaining the open state of the orifice plate cover from the open cover step in the process steps of the original experimental flux or atomic flux. Preferably, a virtual step of closing the cover is constructed in the process steps of the original experimental flux or atomic flux in advance, and the next step of the open cover step is initially assigned to the virtual step of closing the cover. After the experimental process steps to be spliced are input, the preprocessing module completes the connection of the real steps of opening and closing the cover, and deletes the virtual step of closing the cover in the process steps of the original experimental flux or atomic flux, thereby better maintaining the open cover state and the completeness of the overall logic.
[0085] Here, we use flux to represent the number of experimental process samples executed in laboratory automation. The step processes on multiple wells executed in parallel in the same flux can be understood as sub-processes of the current experimental process, namely sub-fluxes. The design in splicing is to splice the new steps on the corresponding wells of these sub-fluxes respectively. The splicing includes the connection relationship between the experimental process steps to be spliced and the corresponding original steps within each experimental flux or sub-flux, as well as the time constraints between the steps.
[0086] Optionally, in step S3, after the scheduling execution module distributes the step instructions of the parallel experiment flux flow in order according to the execution order of the step instructions for execution, the method further includes:
[0087] Step S7, capturing the stage experimental results of each experimental flux or sub-flux in the execution of the step instruction by the feedback module, taking a snapshot of the state of the step instruction execution corresponding to the stage experimental result, and sending it to the algorithm scheduling module;
[0088] Step S8, the algorithm scheduling module obtains the corresponding step status based on the snapshot, including: completed, in execution, scheduled to be executed or to be scheduled, and maintains and updates the relationship table between the step status and the slot status on the experimental instrument, the slot status includes: occupied or idle; based on the latest relationship table, the execution order of the step instructions of the parallel experimental flux process is iteratively optimized.
[0089] Specifically, here we take the laboratory automation process of a single robot and a single gripper as an example. First, the algorithm scheduling module schedules the input process steps and the number of injections (the number of fluxes), and the scheduling execution module executes the schedule. When the stage experimental results of the first flux are captured, a snapshot of the process steps of this state of the stage experimental results is taken, and the step status can be divided into 4 categories: completed, in execution, scheduled to be executed, and to be scheduled. At the same time, the scheduling needs to maintain the status (occupied / free) of the slots on all experimental instruments and the relationship table with the step status, such as which step status can release (free) a slot on a certain experimental instrument.
[0090] It needs to be explained that the concept of slots in experimental instruments refers to the module positions where the well plates are placed on the instrument. For example, common experimental instrument pipetting stations and nucleic acid extractors have multiple slot designs.
[0091] The algorithm scheduling module can iteratively optimize the execution order of the step instructions of the parallel experimental flux process based on the latest relationship table. For example, when the scheduling execution module wants to execute a new step instruction, the algorithm scheduling module checks the robot status at the current moment: if the robot is busy, the step instruction of the robot at the beginning of the new experimental process will not be executed first, and the pick-and-place operation currently being executed by the robot will be given priority to complete, and after completion, the status of the corresponding slot in the above relationship table will be updated to avoid the probability of deadlock; if the experimental instrument is busy, the algorithm scheduling module finds the occupied slot of the busy experimental instrument at the current moment from the relationship table. The algorithm scheduling module uses step B of releasing the slot as the stage goal of the scheduling model in scheduling, and can release the slot first by adjusting the constraint weight to avoid the probability of deadlock.
[0092] It needs to be explained that the robot is busy means that the robot is currently performing a pick-and-place operation; the experimental instrument is busy means that the equipment is starting to execute operations on the orifice plate at the current moment; the experimental instrument slot is busy means that the experimental instrument slot is currently occupied, that is, a orifice plate is placed on the equipment slot.
[0093] Optionally, step S8, based on the latest relationship table, iteratively optimizes the execution order of the step instructions of the parallel experiment flux process, including:
[0094] Based on the latest relationship table, the algorithm scheduling module algorithm detects that the experimental fluxes or sub-fluxes are waiting for slots in the experimental instrument. By introducing transit slots, the execution order of the step instructions of the parallel experimental flux process is iteratively optimized.
[0095] Here, in the scheduling of stage goals, if it is found that there are slots of other devices that cannot be obtained in the intermediate steps, then the release step of the slot of the experimental equipment corresponding to the intermediate step will be used as the new goal. When two steps are waiting for each other to release resources such as slots and cannot continue to execute, a deadlock occurs. For example, slot m of experimental instrument A requires slot n of experimental instrument B to be released, but at the same time it is found that slot n of experimental instrument B requires slot m of experimental instrument A to be released. This is to introduce a transit slot C as the carrier of the unlocking logic.
[0096] For example, in a certain scheduling intermediate state, in the experimental process of flux M, the first well plate is placed in slot #m on the plate washer, and will be transferred to slot #n of the dispenser in the next step. In the experimental process of flux N, the second well plate is placed in slot #n of the dispenser, and will be transferred to slot #m on the plate washer in the next step. That is, on the same workbench, the first well plate in slot #m on the plate washer needs slot #n of the dispenser device to be free before it can be released, and at the same time, the second well plate in slot #n on the dispenser needs slot #m of the plate washer to be free before it can be released. In this case, the workbench is in a deadlock state. In this state, the algorithm scheduling module can enable the idle stacks and turntables on the workbench as transfer slots for transfer, transfer the second well plate to the turntable, then transfer the first well plate to slot #n of the dispenser that has just been released, and then transfer the second well plate from the turntable to slot #n on the plate washer, so as to achieve an efficient automatic unlocking strategy when deadlock actually occurs.
[0097] According to another aspect of the present invention, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein when the computer-executable instructions are executed by a processor, the processor is caused to execute the method described in any of the above embodiments.
[0098] According to another aspect of the present invention, there is also provided a computer device, comprising:
[0099] Processor; and
[0100] A memory arranged to store computer executable instructions, which, when executed, cause the processor to: execute the method described in any one of the above embodiments.
[0101] The detailed contents of the device embodiments of the present invention can be found in the corresponding parts of the method embodiments, which will not be described in detail here.
[0102] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
[0103] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including related data structures) can be stored in a computer readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and the like. In addition, some steps or functions of the present invention can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
[0104] In addition, a part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. The program instruction for calling the method of the present invention may be stored in a fixed or removable recording medium, and / or transmitted through a data stream in a broadcast or other signal-bearing medium, and / or stored in a working memory of a computer device that runs according to the program instruction. Here, according to an embodiment of the present invention, a device is included, the device including a memory for storing computer program instructions and a processor for executing program instructions, wherein, when the computer program instruction is executed by the processor, the device is triggered to run the method and / or technical solution based on the aforementioned multiple embodiments of the present invention.
[0105] It is obvious to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, from any point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any particular order.
Claims
1. A dynamic scheduling method for laboratory automation, characterized in that: include: The preprocessing module sets the process steps of each experimental flux in parallel, and the process steps of each experimental flux include: the process steps of each experimental flux or sub-flux; wherein, the process steps of each experimental flux or sub-flux include: controlling the robot to transport the orifice plate carrying the material, so that the slots in the experimental instrument are occupied or idle, and the steps of automatically controlling the start and stop of the experimental instrument, and setting the connection relationship sequence and time constraints between the steps within each experimental flux or sub-flux; wherein, the robot in a single experimental flux transports each orifice plate in parallel as each sub-flux; The algorithm scheduling module constructs a mixed integer linear programming model based on the process steps of each experimental flux, and solves the execution order of the step instructions of the parallel experimental flux process based on the mixed integer linear programming model; The scheduling execution module distributes the step instructions of the parallel experiment flux process in order for execution according to the execution order of the step instructions.
2. The dynamic scheduling method for laboratory automation according to claim 1, characterized in that: The algorithmic scheduling module is based on the process steps of each experimental flux. Before building a mixed integer linear programming model, it also includes: The preprocessing module also determines whether the parallel experimental process steps are a directed acyclic graph structure based on the connection relationship sequence between the parallel steps and the time constraints between the parallel steps. If it is a directed acyclic graph structure, the parallel experiment process steps are sent to the algorithm scheduling module for further processing; If it is not a directed acyclic graph structure, the preprocessing module adjusts the parallel experiment process steps to a directed acyclic graph structure, and then sends the parallel experiment process steps to the algorithm scheduling module for further processing.
3. The dynamic scheduling method for laboratory automation according to claim 1, characterized in that: The algorithm scheduling module constructs a mixed integer linear programming model based on the process steps of each experimental flux. Based on the mixed integer linear programming model, the execution order of the step instructions of the parallel experimental flux process is solved, including: The process steps of the parallel experimental flux are mathematically modeled, and based on the occupied or idle steps of the slots in each experimental flux or experimental instrument, the connection relationship sequence and time constraints between the steps of each experimental flux or sub-flux are added; based on the connection relationship sequence and time constraints between the steps of each experimental flux or sub-flux, a mixed integer linear programming model is constructed, and the completion time of all steps that minimize the maximum experimental flux or minimize the maximum sub-flux is used as the objective function of the MILP model, and the objective function is used as the scheduling target to solve the execution order of the step instructions of the parallel experimental flux process.
4. The dynamic scheduling method for laboratory automation according to claim 2 or 3, characterized in that: The algorithm scheduling module solves the execution order of the step instructions of the parallel experimental flux process, including: The algorithm scheduling module uses the Gurobi commercial solver, COPT commercial solver, SCIP open source solver or CBC open source solver to solve the execution order of the step instructions of each parallel experimental flux process.
5. The dynamic scheduling method for laboratory automation according to claim 1, characterized in that: After the scheduling execution module distributes the step instructions of the parallel experiment flux flow in order according to the execution order of the step instructions for execution, it also includes: The capture feedback module receives the actual completion time of the step instruction operation completed by the robot and the experimental instrument, and sends it to the algorithm scheduling module; The algorithm scheduling module modifies the estimated completion time of the corresponding step instruction that has been executed in the algorithm scheduling module to the corresponding actual completion time based on the actual completion time of the step instruction operation received by the robot and the experimental instrument, and further updates the start time of the subsequent step instruction of the step instruction that has been executed according to the updated actual completion time. The algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the start time of the subsequent step instruction.
6. The dynamic scheduling method for laboratory automation according to claim 1 or 5, characterized in that: After the scheduling execution module distributes the step instructions of the parallel experiment flux flow in order according to the execution order of the step instructions for execution, it also includes: The capture and feedback module captures the experimental process steps to be spliced corresponding to each experimental flux or sub-flux according to the stage experimental results of each experimental flux or sub-flux during the execution of the step instruction, and returns the experimental process steps to be spliced to the preprocessing module; The preprocessing module determines whether to perform splicing based on the received experimental process steps to be spliced. If yes, the preprocessing module splices the experimental process steps to be spliced into the process steps of the corresponding experimental flux or sub-flux, and sends the splicing results to the algorithm scheduling module; The algorithm scheduling module iteratively optimizes the execution order of the step instructions of the parallel experimental flux process based on the splicing results.
7. The dynamic scheduling method for laboratory automation according to claim 1, characterized in that: The preprocessing module splices the experimental process steps to be spliced into the process steps of the corresponding experimental flux or sub-flux, including: The preprocessing module receives the experimental process steps to be spliced, and places the experimental process steps to be spliced in the lane steps of the corresponding well plate material according to the type of the well plate material corresponding to the steps, wherein the steps of each well plate material are stored in an independent lane corresponding to the type of the well plate material according to the time constraint and the connection relationship sequence between the step and the process steps of the original experimental flux or atomic flux in the same lane step or the process steps of the original experimental flux or atomic flux in different lane steps; The preprocessing module determines whether robot transportation is required during the execution of the process steps of the original experimental flux or atomic flux and the experimental process steps to be spliced based on the connection relationship between the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux in the lane step, wherein the connection relationship is recorded in the experimental process steps to be spliced and the process steps of the original experimental flux or atomic flux; If robot transfer is required, a corresponding robot transfer well plate material step is generated between the experimental process step to be spliced and the process step of the original experimental flux or atomic flux, and the process step of the original experimental flux or atomic flux, the robot transfer well plate material step and the experimental process step to be spliced are connected in sequence; If robot transfer is not required, further determine whether the step corresponds to ordinary orifice plate material or switch cover orifice plate material. If it is a common orifice plate material other than the switch cover orifice plate material, then the experimental process steps to be spliced are generated without robot-transported orifice plate materials directly connected, that is, the process steps of the original experimental flux or atomic flux are directly connected to the experimental process steps to be spliced; If it is a switch cover orifice plate material, the experimental process steps to be spliced are connected with the process steps of the original experimental flux or atomic flux, and the virtual step of closing the cover in the process steps of the original experimental flux or atomic flux is deleted, wherein the process steps of the original experimental flux or atomic flux already include the virtual step of closing the cover; the experimental process steps to be spliced include the real step of closing the cover.
8. The dynamic scheduling method for laboratory automation as claimed in claim 1, characterized in that: The scheduling execution module distributes the step instructions of the parallel experiment flux process in order for execution according to the execution order of the step instructions, including: The capture feedback module captures the stage experimental results of each experimental flux or sub-flux during the execution of the step instruction, takes a snapshot of the execution status of the step instruction corresponding to the stage experimental result, and sends it to the algorithm scheduling module; Based on the snapshot, the algorithm scheduling module obtains the corresponding step status, including: completed, in execution, scheduled to be executed or to be scheduled, and maintains and updates the relationship table between the step status and the slot status on the experimental instrument, the slot status includes: occupied or idle; based on the relationship table, the execution order of the step instructions of the parallel experimental flux process is iteratively optimized.
9. The dynamic scheduling method for laboratory automation according to claim 7, characterized in that: Based on the latest relationship table, the execution order of the step instructions of the parallel experimental throughput process is iteratively optimized, including: The algorithm scheduling module algorithm detects that the experimental flux or sub-flux is waiting for the slots in the experimental instrument based on the relationship table, and iteratively optimizes the execution order of the step instructions of the parallel experimental flux process by introducing the transfer slot.
10. A computer-readable storage medium having computer-executable instructions stored thereon, wherein: When the computer executable instructions are executed by a processor, the processor is caused to: perform the method as claimed in any one of claims 1 to 9.
Citation Information
Cited By
Black lamp wet process laboratory intelligent operation system and intelligent operation method
CN119648175A