# Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data.

## Presentation on theme: "Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data."— Presentation transcript:

Solutions for Scheduling Assays

Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data handling Increase sample throughput

Scheduling Example TaskTime(s ) Get plate from Stack and move to Washer 15 Run Washer60 Move plate from Washer to Dispenser 10 Run Dispenser40 Move plate from Dispenser to Stack 15

Running - Wash Running - Dispense Input Output Sequential Processing

Sequential Processing – Gantt View

Running - Wash Running - Dispense Input Output Optimized Scheduling

Optimized Scheduling – Gantt View

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 solve 1 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 Solvers Exact methods Local 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 StageActivityRules 1Load Plate onto Washer and start running Washer instrument is idle Washer has no plate loaded 2When washer has finished, move plate to dispenser and start running Washer is idle Washer has a plate loaded Dispenser is idle Dispenser has no plate loaded 3When dispenser has finished unload plate Dispenser is idle Dispenser 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 Nets 1 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 InputOutput 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 Dispenser SU: Storage Unit DON’T WAIT! Serial: 60s Overlapping: 30s

Download ppt "Solutions for Scheduling Assays. Why do we use laboratory automation? Improve quality control (QC) Free resources Reduce sa fety risks Automatic data."

Similar presentations