260 likes | 350 Views
Solutions for Scheduling Assays. Improve quality control (QC) Free resources Reduce sa fety risks Automatic data handling Increase sample throughput. Why do we use laboratory automation?. Scheduling Example. Sequential Processing. Running - Wash. Input. Output. Running - Dispense.
E N D
Improve quality control (QC) Free resources Reduce sa fety risks Automatic data handling Increase sample throughput Why do we use laboratory automation?
Sequential Processing Running - Wash Input Output Running - Dispense
Optimized Scheduling Running - Wash Input Output Running - Dispense
An improved throughput is achieved by having efficient scheduling Scheduling is the process of optimally processing tasks or jobs. The objectives include Minimizing the time Maximizing the utilization of the rate determining resource All constraints, time and resource specific must be obeyed Scheduling Definition
Prepares a pre-emptive plan on how the plates will be processed A mathematical, exact or heuristic approach to calculating an optimal schedule Complex algorithms have to evaluate all the scheduling permutations Problem in laboratory automation is similar to the Job Shop Scheduling problem Static Scheduling
A fixed set of n jobs Each job consists of a chain of operations A fixed set of m machines that each operation uses Each machine can handle at most one operation at a time Each operation needs to be processed during an uninterrupted time period of a given length on a given machine Aim is to find a schedule that has minimal length Job Shop Scheduling Problem
The schedules required for this problem are the most difficult to solve1 The problem is NP hard (non-deterministic polynomial time hard) 10 operations requires 3,628,800 scheduling permutations to be analyzed Job Shop Scheduling Problem
Job Shop Example 10 Job, 10 machine problem. An MIP solver takes 5 minutes to solve this
Problem can be simplified. The sequence of operations have to be in a set order, and the operations for each Job are the same Cyclic scheduling methods can be adopted Allowable time delays are introduced. Plate cycle time increases, but throughput increases as well DES Event Model
DES Event Model Example Single Plate Gantt Chart The Event Model
Many Solver tools available for solving scheduling problems. The General Algebraic Modeling System (GAMS) Microsoft Solver Foundation IBM Optimization Subroutine Library Scheduling techniques for Job Shop Problem • Linear • Non-linear • MIP • Mathematical Solvers • Exact methods • Local search methods, heuristics • Branch and Bound • Dynamic Programming • Cutting plane Scheduling, Theory, Algorithms and Systems – Michael L.Pinedo • Simulated annealing • Tabu Search • Adaptive Search
Each plate can be processed in exactly the same way Incubation times can run for the exact specified time. Allow the user to see how the assay will run See the effect of speeding up tasks or adding more instruments (e.g. pooling) Assay cannot react to events Error states cannot be handled automatically Static Schedulers
Schedule is determined before the run starts Schedule is recalculated at runtime based upon events In the simplest form, rescheduling occurs when task durations differ True dynamic scheduling responds to all events that deviate from current schedule Dynamic Scheduling
Event Driven Scheduling • A method of running a process when events occur such as device state change • The system is told how to process plates through the different instruments on the system based upon a set of rules
Event Driven Scheduling Example Running - Wash Input Output Running - Dispense
Deadlock Running - Wash Input X DEADLOCK!! Output X Running - Dispense
Detect deadlocks by using Petri Nets1 Control the addition of new plates using pacing timers This slows the throughput as the degree of interleaving is reduced Alternatively, use buffers (relief nests) Deadlock Solutions
Buffer relief nests Running - Wash Input Buffer Output Running - Dispense
No need for CPU intensive scheduling System can easily react to events as the run proceeds Ideal for assays where the process is unknown before the run starts Increased flexibility invariably leads to increased complexity Deadlock situations need to be determined and eliminated Event Driven Scheduling
Maximizing rate limiting resource utilization Input Output Transferring
There are different ways to schedule and process plates through an automated system Choose the right scheduler for your application Determine the rate limiting step in the process and maximize its utilization Avoid deadlocks Summary
Robot: Move to Storage Unit (10s) Overlapping Tasks SU: Unload Plate (20s) Robot: Pickup plate from SU (5s) AD: Open Drawer (5s) Robot: Put plate on AD (10s) AD: Close Drawer (10s) DON’T WAIT! Serial: 60s Overlapping: 30s AD: Acoustic Dispenser SU: Storage Unit