solutions for scheduling assays
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Solutions for Scheduling Assays
Why do we use laboratory automation?
Improve quality control (QC)Free resourcesReduce sa fety risksAutomatic data handlingIncrease sample throughput
Scheduling Example
Task Time(s)
Get plate from Stack and move to Washer
15
Run Washer 60
Move plate from Washer to Dispenser
10
Run Dispenser 40
Move plate from Dispenser to Stack
15
Running - Wash
Running - Dispense
Input
Output
Sequential Processing
Sequential Processing – Gantt View
0 60 120 180 240
Plate 1 Dispense
Time (s)
Wash
Plate 2 Dispense Wash
300
Total Processing Time: 420 seconds
Dispense WashPlate 3
360 420
Running - Wash
Running - Dispense
Input
Output
Optimized Scheduling
Optimized Scheduling – Gantt View
0 60 120 180 240
Plate 1 Dispense
Time (s)
Wash
Plate 2 Dispense Wash
300
Total Processing Time: 310 seconds
Dispense WashPlate 3
Scheduling Definition
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
Static Scheduling
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
Job Shop Scheduling Problem
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 Example
10 Job, 10 machine problem. An MIP solver takes 5 minutes to solve this
DES Event Model
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 Example
Single Plate Gantt Chart
The Event Model
Scheduling techniques for Job Shop Problem
Many Solver tools available for solving scheduling problems.
The General Algebraic Modeling System (GAMS) Microsoft Solver Foundation IBM Optimization Subroutine Library
Mathematical SolversExact methodsLocal search methods, heuristics
Scheduling, Theory, Algorithms and Systems – Michael L.Pinedo
•Linear•Non-linear•MIP•Branch and Bound
•Dynamic Programming•Cutting plane
•Simulated annealing•Tabu Search•Adaptive Search
Static Schedulers
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
Dynamic Scheduling
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
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
Stage Activity Rules
1 Load Plate onto Washer and start running
Washer instrument is idleWasher has no plate loaded
2 When washer has finished, move plate to dispenser and start running
Washer is idleWasher has a plate loadedDispenser is idleDispenser has no plate loaded
3 When dispenser has finished unload plate
Dispenser is idleDispenser has a plate loaded
Running - Wash
Running - Dispense
Input
Output
Event Driven Scheduling Example
Running - Wash
Running - Dispense
Input
Output
Deadlock
DEADLOCK!!X
X
Deadlock Solutions
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)
Running - Wash
Running - Dispense
Input
Output
Buffer relief nests
Buffer
Event Driven Scheduling
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
Maximizing rate limiting resource utilization
Input Output
Transferring
Summary
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
Overlapping Tasks
Robot: Move to Storage Unit (10s)
SU: Unload Plate (20s)
Robot: Pickup plate from SU (5s)AD: Open Drawer (5s)
Robot: Put plate on AD (10s)
AD: Close Drawer (10s)
AD: Acoustic DispenserSU: Storage Unit
DON’T WAIT!
Serial: 60sOverlapping: 30s