Download presentation

Presentation is loading. Please wait.

Published byMauricio Henington Modified over 2 years ago

1
Solutions for Scheduling Assays

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

3
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

4
Running - Wash Running - Dispense Input Output Sequential Processing

5
Sequential Processing – Gantt View

6
Running - Wash Running - Dispense Input Output Optimized Scheduling

7
Optimized Scheduling – Gantt View

8
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

9
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

10
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

11
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

12
Job Shop Example 10 Job, 10 machine problem. An MIP solver takes 5 minutes to solve this

13
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

14
DES Event Model Example Single Plate Gantt Chart The Event Model

15
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

16
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

17
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

18
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

19
Running - Wash Running - Dispense Input Output Event Driven Scheduling Example

20
Running - Wash Running - Dispense Input Output Deadlock DEADLOCK!! X X

21
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)

22
Running - Wash Running - Dispense Input Output Buffer relief nests Buffer

23
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

24
Maximizing rate limiting resource utilization InputOutput Transferring

25
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

26
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

Similar presentations

OK

HOW TO SOLVE IT? Algorithms. An Algorithm An algorithm is any well-defined (computational) procedure that takes some value, or set of values, as input.

HOW TO SOLVE IT? Algorithms. An Algorithm An algorithm is any well-defined (computational) procedure that takes some value, or set of values, as input.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on spiritual leadership training Ppt on carbon and its compounds model Ppt on primary data collection methods Ppt on disaster management for class 10 download Ppt on producers consumers and decomposers in the amazon Ppt on limitation act 1939 Ppt on afforestation in india Ppt on finite difference method Ppt on lcd tv Ppt on object-oriented concepts java