Chapter 8 Operations Scheduling Scheduling Problems in Operations • • • • • • Job Shop Scheduling Personnel Scheduling Facilities Scheduling Vehicle Scheduling and Routing Project Management Dynamic versus Static Scheduling The Hierarchy of Production Decisions Characteristics of the Job Shop Scheduling Problem • • • • • Job Arrival Pattern Number and Variety of Machines Number and Skill Level of Workers Flow Patterns Evaluation of Alternative Rules Objectives in Job Shop Scheduling • • • • • • Meet due dates Minimize work-in-process (WIP) inventory Minimize average flow time Maximize machine/worker utilization Reduce set-up times for changeovers Minimize direct production and labor costs (note: that these objectives can be conflicting) Terminology • Flow shop: shop design in which machines are arranged in series Input parts Machine 1 Machine 2 Machine 3 A Pure Flow Shop Machine 4 Finished Products • In general flow shop a job may skip a particular machine Input parts Machine 1 Input parts Machine 2 Input parts Machine 3 Input parts Machine 4 Finished Products Terminology • Job shop: the sequencing of jobs through machines – A job shop does not have the same restriction on workflow as a flow shop. In a job shop, jobs can be processed on machines in any order – Usual job shop contains m machines and n jobs to be processed – Each job requires m operations (one on each machine) in a specific order, but the order can be different for each job – Real job shops might not require to use all m machines and yet may have to visit some machines more than once – Workflow is not unidirectional in a job shop Input parts Jobs arriving from WIP Machine i One Machine in a Job Shop Finished Products Jobs leaving as WIP Terminology • Parallel processing vs. sequential processing: parallel processing means that the machines are identical – In practice, there are often multiple copies of the same machine – A job arriving at a work center can be scheduled on any one of a number machines more flexibility, complicating the scheduling problem further – A factory might have multiple “identical machines”, purchased from the same manufacturer, that produce parts with higher quality on one machine than on any other • Schedule: provides the order in which jobs are to be executed, and projects start time for each job at each work center • Sequence: lists the order in which jobs are to be done Terminology: Performance Measures • Average WIP level: ….(is exactly what it sounds like) • Flowtime: The amount of time a job spends from the moment it is ready for processing until its completion, and includes any waiting time prior to processing – Average WIP level is directly related to the time jobs spend in the shop (flowtime) • Makespan: The total time for all jobs to finish processing – For a single machine problem, the makespan is the same regardless of the schedule, assuming we do not allow any idle time between jobs Terminology: Performance Measures Performances that have to do with each job’s due date • Lateness: The amount of time a job is past its due date – Lateness is a negative number if a job is early • Earliness: The amount of time a job a early • Tardiness: Equals to zero if job is on time or early, and equals to lateness if the job is late Measures of the cost of production: Machine utilization and labor utilization are primary measures of shop utilization Deterministic Scheduling of a Single Machine: Priority Sequencing Rules • Random: Choose the next job at random. Do not use it! • FCFS: First Come First Served. Jobs processed in the order they arrive to the shop. Viewed as a “fair” rule. • SPT: Shortest Processing Time. Jobs with the shortest processing time are scheduled first. Popular method to determine the next homework assignment by many students. Deterministic Scheduling of a Single Machine: Priority Sequencing Rules • SWPT: Shortest Weighted Processing Time. A weight is assigned to each job based on the job’s value (holding cost) or on its cost of delay • EDD: Earliest Due Date. Jobs are sequenced according to their due dates. • CR: Critical Ratio. Compute the ratio of processing time of the job and remaining time until the due date. Schedule the job with the largest CR value next, however, if the job is late, the ration will be negative, or the denominator will be zero, and this job should be given highest priority (Processing time remaining until completion) / (Due Date – Current Time) FCFS Example Flowtime: The amount of time a job spends from the moment it is ready for processing until its completion, and includes any waiting time prior to processing Earliness: The amount of time a job a early Processing Due date Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 3 5 6 4 2 4 5 6 18 Completion Flowtime Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 1 7 8 7 7 -1 1 0 2 1 12 8 8 -4 4 0 3 5 6 13 13 7 0 7 4 2 4 15 15 11 0 11 5 6 18 21 21 3 0 3 Average 12.8 3.2 1 4.2 Max 21 11 4 11 Job Processing Time, pj, in Days Due Date, dj, (day) Shortest Processing Time is optimal for minimizing 1 7 8 2 1 12 Average 3 5 6 4 2 4 5 6 18 SPT Example and Total flowtime Average waiting time Average and Total lateness Processing Due date Completion Flowtime Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 2 1 12 1 1 -11 11 0 4 2 4 3 3 -1 1 0 3 5 6 8 8 2 0 2 5 6 18 14 14 -4 4 0 1 7 8 21 21 13 0 13 Average 9.4 -0.2 3.2 3 Max 21 13 11 13 Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 n 3 5 6 j 1 4 2 4 5 6 18 SWPT Example Shortest Weighted Processing Time -total weighted down time Fw w j F j -sequencing p1 w1 p2 w2 pn wn Processing Due date Weights Completion Flowtime Lateness Earliness Tardiness Job j Pj Dj wj pj//wj Cj Fj wjFj Lj Ej Tj 4 2 4 5 0.4 2 2 10 -2 2 0 2 1 12 2 0.5 3 3 6 -9 9 0 5 6 18 4 1.5 9 9 36 -9 9 0 3 5 6 3 1.67 14 14 42 8 0 8 1 7 8 2 3.5 21 21 42 13 0 13 Ave 9.8 27.2 0.2 4 4.2 Max 21 42 13 9 13 EDD Example Earliest Due Date Processing Due date Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 3 5 6 4 2 4 5 6 18 Completion Flowtime Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 4 2 4 2 2 -2 2 0 3 5 6 7 7 1 0 1 1 7 8 14 14 6 0 6 2 1 12 15 15 3 0 3 5 6 18 21 21 3 0 3 Average 11.8 2.2 0.4 2.6 Max 21 6 2 6 CR Example Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 3 5 6 4 2 4 5 6 18 Critical Ratio: Processing time remaining until completion Due Date - Current Time Subtract Current Time Job j pj Dj CRj Job j pj Dj Dj-CT CRj 1 7 8 0.875 2 1 12 5 0.200 2 1 12 0.083 3 5 6 -1 -5.000 3 5 6 0.833 4 2 4 -3 -0.667 4 2 4 0.500 5 6 18 11 0.545 5 6 18 0.333 Schedule jobs 1 4 3 2 5 CR Example (cont) Critical Ratio: Processing time remaining until completion Due Date - Current Time Processing Due date Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 3 5 6 4 2 4 5 6 18 Completion Flowtime Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 1 7 8 7 7 -1 1 0 4 2 4 9 9 5 0 5 3 5 6 14 14 8 0 8 2 1 12 15 15 3 0 3 5 6 18 21 21 3 0 3 Average 13.2 3.6 0.2 3.8 Max 21 8 1 8 Comparing Methods Method FCFS SPT SWPT EDD CR Fj Lj Ej Tj Ave 12.8 3.2 1 4.2 Max 21 11 4 11 Ave 9.4 -0.2 3.2 3 Max 21 13 11 13 Ave 9.8 0.2 4 4.2 Max 21 13 9 13 Ave 11.8 2.2 0.4 2.6 Max 21 6 2 6 Ave 13.2 3.6 0.2 3.8 Max 21 8 1 8 Results for Single Machine Sequencing • The rule that minimizes the mean flow time of all jobs is SPT. • The following criteria are equivalent: – Mean flow time – Mean waiting time. – Mean lateness • Moore’s algorithm minimizes number of tardy jobs • Lawler’s algorithm minimizes the maximum flow time subject to precedence constraints. EDD Example Earliest Due Date Processing Due date Job Processing Time, pj, in Days Due Date, dj, (day) 1 7 8 2 1 12 3 5 6 4 2 4 5 6 18 Completion Flowtime Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 4 2 4 2 2 -2 2 0 3 5 6 7 7 1 0 1 1 7 8 14 14 6 0 6 2 1 12 15 15 3 0 3 5 6 18 21 21 3 0 3 Average 11.8 2.2 0.4 2.6 Max 21 6 2 6 Minimizing the Number of Tardy Jobs Morre Algorithm - minimizes number of tardy jobs Step 1: Sequence the jobs according to EDD rule and initially put all jobs in set V Step 2: Find the first tardy job in set V {say it is job [k] in the sequence}. If there are no tardy jobs in the set V, stop; the sequence is optimal Step 3: Select the job with largest processing time among first k jobs. Place this job in set U. Go to step 2 Comments: 1. Placing a job in set U means that it will be tardy and will occupy a position in sequence after all non-tardy jobs 2. Tardy jobs may be schedules in any order because the performance measure is the number of tardy jobs Example Moore Algorithm Alt. solution: 1— 4 — 2 — 5 — 3 Iteration 1 Iteration 2 Iteration 3 Job j pj Dj Cj Fj Lj Ej Tj 4 2 4 2 2 -2 2 0 3 5 6 7 7 1 0 1 1 7 8 14 14 6 0 6 2 1 12 15 15 3 0 3 5 6 18 21 21 3 0 3 Average 11.8 2.2 0.4 2.6 Max 21 6 2 6 4 2 4 2 2 -2 2 0 1 7 8 9 9 1 0 1 2 1 12 10 10 -2 2 0 5 6 18 16 16 -2 2 0 3 5 6 21 21 15 0 15 4 2 4 2 2 -2 2 0 2 1 12 3 3 -9 9 0 5 6 18 9 9 -9 9 0 3 5 6 14 14 8 0 8 1 7 8 21 21 13 0 13 Average 9.8 0.2 4 4.2 Max 21 13 9 13 Lawler’s Algorithm minimizes the maximum flow time subject to precedence constraints. Goal: Scheduling a set of simultaneously arriving tasks on one machine with precedence constraints to minimize maximum lateness (tardiness). Precedence constraints occur when certain jobs must be completed before other jobs can begin. Algorithm: Tasks are scheduled in reverse order: job to be completed last is scheduled first. At each step selection is made from the jobs that are not required to precede any other unscheduled job. Select a job that achieves min Fi d i iV Lawler’s Example: Processing for all jobs is 1 day 1) 2) 3) 4) 5) 6) One machine Ffinal = 1+1+1+1+1+1 = 6 Select from jobs {4,5,6} such that gives 1 D1=2 min{6-3, 6-5, 6-6}=0 job 6 is a last job D2=5 2 Recalculate F: F = 6-1= 5 3 D3=4 Select from jobs {3,4,5} such that gives min{5-4, 5-3, 5-5}=0 order x-x-x-x-5-6 4 5 6 Recalculate F: F = 5-1= 4 D4=3 D5=5 D6=6 Select from jobs {3,4} such that gives min{4-4, 4-3}=0 order x-x-x-3-5-6 Recalculate F: F = 4-1= 3 Select from jobs set {4} order x-x-4-3-5-6 Recalculate F: F = 3-1= 2 Select from jobs set {2} order x-2-4-3-5-6 Recalculate F: F = 2-1= 1 Select from jobs set {1} order 1-2-4-3-5-6 Lawler’s Example: D2=5 Production is done in next order: 1–2–4–3–5–6 Lawler’s algorithm minimizes the maximum flow time subject to precedence constraints Processing Due date 1 Completion Flowtime 4 D1=2 2 3 5 D3=4 6 D4=3 D5=5 D6=6 Processing for all jobs is 1 day Lateness Earliness Tardiness Job j pj Dj Cj Fj Lj Ej Tj 1 1 2 1 1 -1 1 0 2 1 5 2 2 -3 3 0 4 1 3 3 3 0 0 0 3 1 4 4 4 0 0 0 5 1 5 5 5 0 0 0 6 1 6 6 6 0 0 0 Average 3.5 -0.67 0.67 0 Max 6 0 3 0 Gantt Charts Pictorial representation of a schedule is called Gantt Chart The purpose of the chart is to graphically display the state of each machine at all times Horizontal axis – time Vertical axis – machines 1, 2, …, m Processing Machine 1 3 5 Machine 2 2 1 Processing Machine 1 Machine 2 2 1 1 2 3 5 6 11 Time (days) Question: Is it an optimal schedule? Are there any precedence constrains? Job 1 Job 2 Job 1 Job 2 Machine 1 3/1 5/2 Machine 2 2/2 1/1 Gantt Charts Machine 1 Machine 2 2 1 1 2 3 Processing 5 6 2 Machine 1 1 Machine 2 2 11 1 Time (days) 3 5 6 11 Time (days) 8 11 Time (days) 8 11 Time (days) Job 1 Job 2 Machine 1 3 5 Machine 2 2 1 Machine 1 Machine 2 2 1 1 2 3 Processing 8 5 6 Job 1 Job 2 Machine 1 3/1 5/2 Machine 2 2/2 1/1 2 Machine 1 1 Machine 2 2 1 3 5 6 Question: How to determine THE optimal solution? What makes scheduling problem more difficult? Example Processing time / machine number Completed by 14 11 13 (late) 10 (late) Job Operation 1 Operation 2 Operation 3 Releas e date Due date 1 4/1 3/2 2/3 0 16 2 1/2 4/1 4/3 0 14 3 3/3 2/2 3/1 0 10 4 3/2 3/3 1/1 0 8 Find a solution! M1 2 M2 2 4 3 M3 1 4 3 1 3 4 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Deterministic Scheduling with Multiple Machines • For the case of m machines and n jobs, there are n! distinct sequenced on each machine (permutations), so (n!)m is the total number of possible schedules • For m = 3 and n = 4, total number of possible schedules is 243=13,824 • Assume that each job must be processed in the order – First on machine 1, then machine 2…. • The optimal solution for scheduling n jobs on two machines to minimize the total flow time is always a permutation schedule – Assume flow shop: in each job operations have to be done on both machines – Permutation schedule is when jobs are done in the same order on both machines – This is the basis for Johnson’s algorithm Example MetalFrame makes 4 different types of metal door frames. Preparing the hinge upright is a two-step operation. Jobs Natural schedule: Is it optimal? Machine s 1 2 3 4 Total time 1 5 4 3 2 14 2 2 5 2 6 15 1 2 1 3 4 2 7 3 14 4 16 If idle time for machine 2 is equal to zero, then we have found an optimal solution 22 Deterministic Scheduling with Multiple Machines: Johnson’s Rule • Name Machine 1 = A, Machine 2 = B, then ai = processing time for job i on A and bi = processing time for job i on B • Johnson’s Rule says that job i precedes job j in the optimal sequence if min ai , b j min a j , bi Algorithm: • Step 1: Record the values of ai and bj in two columns • Step 2: Find the smallest remaining value in two columns. If this value in column a, schedule this job in the first open position in the sequence; if this value in column b, schedule this job in the last open position in the sequence; Cross off each job as it is scheduled Example (cont) Jobs Machines 1 2 3 4 Total time 1 5 4 3 2 14 2 2 5 2 6 15 Johnson’s schedule: 4–x–x–x 4–x–x–3 4–x–1–3 4–2–1–3 Natural schedule: job A B 1 5 2 2 4 5 3 3 2 4 2 6 1 3 2 1 4 2 3 7 Johnson’s schedule: Is it optimal? 4 1 2 4 14 16 1 3 22 3 2 7 4 14 17 22 Results for Multiple Machines • For three machines, a permutation schedule is still optimal if we restrict attention to total flow time only (not necessarily the case for average flow time). • Under some circumstances, the two machine algorithm can be used to solve the three machine case: – Label the machines A, B and C – min Ai max Bi , for i or min Ci max Bi , for i – Redefine Ai’= Ai + Bi and Bi’= Bi + Ci • When scheduling two jobs on m machines, the problem can be solved by graphical means. Sequencing Theory: The Two-Job Flow Shop Problem Assume that two jobs are to be processed through m machines. Each job must be processed by the machines in a particular order, but the sequences for the two jobs need not be the same Graphical procedure developed by Akers (1956): – Draw a Cartesian coordinate system with the processing times corresponding to the first job on the horizontal axis and the processing times corresponding to the second job on the vertical axis (keeping order) – Block out areas corresponding to each machine at the intersection of the intervals marked for that machine on the two axes – Determine a path from the origin to the end of the final block that does not intersect any of the blocks and that minimizes the vertical movement. Movement is allowed only in three directions: horizontal, vertical, and 45-degree diagonal. The path with minimum vertical distance corresponds to the optimal solution Example 8.7 (in the book) A regional manufacturing firm produces a variety of household products. One is a wooden desk lamp. Prior to packing, the lamps must be sanded, lacquered, and polished. Each operation requires a different machine. There are currently shipments of two models awaiting processing. The times required for the three operations for each of the two shipments are Job 1 Operation Job2 Time Operation Time (A) 3 A 2 Lacquering (B) 4 B 5 Polishing 5 C 3 Sanding (C) The order of operations is the same for both jobs: A B C Minimizing the flow time is equivalent to finding the path from the origin to the upper right point F (for this problem it is art the end of block C) that maximizes the diagonal movement and therefore minimizes either the horizontal or the vertical movement. Job 1 A Tim e 3 A 2 B 4 B 5 C 5 C 3 10 + (6)=16 12 +(3)=15 Job2 Time 15 14+2+2=18 14 C 13 C 12 Example F 11 10 B 14+4=18 B 9 Job 1 8 7 6 D 5 D 4 3 2 A A 1 0 0 1 2 B J1 B J2 A 3 4 D5 6 7 C8 D 10 11 12 13 14 15 16 17 A D A C D B 7 J1 B J2 A 9 11 D B C 15 A C C 18 Job2 Order & Operation B Time Time 3 Order & Operation A D 4 D 5 C 2 B 4 A 5 C 3 2 Schematic of a Typical Assembly Line The problem of balancing an assembly line is a classic engineering problem • A set of n distinct tasks that must be completed on each item • The time required to complete task i is a known constant ti • The goal is to organize the tasks into groups, with each group of tasks being performed at a single workstation • The amount of time allotted to each workstation is determined in advance (C = cycle time), based on the desired rate of production of the assembly line Assembly Line Balancing • Assembly line balancing is traditionally thought of as a facilities design and layout problem • There are a variety of factors that contribute to the difficulty of the problem – Precedence constrains: some tasks may have to be completed in a particular sequence – Zoning restriction: Some tasks cannot be performed at the same workstation • Let t1, t2, …, tn be the time required to complete the respective tasks Assembly Line Balancing • The total work content (time) associated with the production of an item, say T, is given by T n t i 1 i • For a cycle time of C, the minimum number of workstations possible is [T/C], where the brackets indicate that the value of T/C is to be rounded to the next larger integer • Ranked positional weight technique: the method places a weight on each task based on the total time required by all of the succeeding tasks. Tasks are assigned sequentially to stations based on these weights Assembly Line Balancing Example 8.11 The Final assembly of Noname personal computers, a generic mailorder PC clone, requires a total of 12 tasks. The assembly is done at the Lubbock, Texas, plant using various components imported from the Far East. The network representation of this particular problem is given in the following figure. Assembly Line Balancing Precondition The job times and precedence relationships for this problem are summarized in the table below. Task Immediate Predecessors Time 1 2 3 4 5 6 7 8 9 10 11 12 _ 1 2 2 2 2 3, 4 7 5 9, 6 8, 10 11 12 6 6 2 2 12 7 5 1 4 6 7 Assembly Line Balancing: Helgeson and Birnie Heuristic (1961) Ranked positional weight technique The solution precedence requires determining the positional weight of each task. The positional weight of task i is defined as the time required to perform task i plus the times required to perform all tasks having task i as a predecessor. Task Time Positional Weight 1 2 3 4 5 6 7 8 9 10 11 12 12 6 6 2 2 12 7 5 1 4 6 7 70 58 31 27 20 29 25 18 18 17 13 7 t3 + t7 + t8 + t11 + t12 = 31 The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12 ti = 70, and the production rate is a unit per 15 minutes; The minimum number of workstations = [70 / 15] = 5 Assembly Line Balancing: Helgeson and Birnie Heuristic (1961) Station 1 2 3 4 5 6 Tasks 1 2, 3, 4 5, 6, 9 7, 8 10, 11 12 Processing time 12 14 15 12 10 7 Idle time 3 1 0 3 5 8 Task Time 1 Immediate Predecessors _ 2 3 4 5 6 7 8 9 10 11 12 1 2 2 2 2 3, 4 7 5 9, 6 8, 10 11 6 6 2 2 12 7 5 1 4 6 7 12 C=15 The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12 Helgeson and Birnie Heuristic (1961) C=15 Station 1 2 3 4 5 6 Tasks 1 2,3,4 5,6,9 7,8 10,11 12 Processing time 12 14 15 12 10 7 Idle time 3 1 0 3 5 8 15 Cycle Time=15 T1=12 T2=6 T5=2 T7=7 T10=4 T12=7 T3=6 T6=12 T8=5 T11=6 T2=6 T4=2 T5=2 T9=1 T10=4 T12=7 Evaluate the balancing results by the efficiency ti/NC The efficiencies for C=15 is 77.7%, C=16 is 87.5%, and C=13 is 89.7% is the best one Helgeson and Birnie Heuristic (1961) C=15 Station 1 2 3 4 5 6 Tasks 1 2,3,4 5,6,9 7,8 10,11 12 Processing time 12 14 15 12 10 7 Idle time 3 1 0 3 5 8 C=16 Station 1 2 3 4 5 Tasks 1 2,3,4, 5 6,9 7,8,10 11,12 Idle time 4 0 3 0 3 C=13 Station 1 2 3 4 5 6 Tasks 1 2,3 6 4,5,7,9 8,10 11,12 Idle time 1 1 1 1 4 0 Increasing the cycle time from 15 to 16, the total idle time has been cut down from 20 min/units to 10 improvement in balancing rate. The production rate has to be reduced from one unit/15 minutes to one unit/16minute; Helgeson and Birnie Heuristic (1961) C=15 Station 1 2 3 4 5 6 Tasks 1 2,3,4 5,6,9 7,8 10,11 12 Processing time 12 14 15 12 10 7 Idle time 3 1 0 3 5 8 C=16 Station 1 2 3 4 5 Tasks 1 2,3,4, 5 6,9 7,8,10 11,12 Idle time 4 0 3 0 3 C=13 Station 1 2 3 4 5 6 Tasks 1 2,3 6 4,5,7,9 8,10 11,12 Idle time 1 1 1 1 4 0 13 minutes appear to be the minimum cycle time with six station balance. Increasing the number of stations from 5 to 6 results in a great improvement in production rate; Stochastic Scheduling: Static Case • Single machine case: Suppose that processing times are random variables. If the objective is to minimize average weighted flow time, jobs are sequenced according to expected weighted SPT. That is, if job times are t1, t2, . . ., and the respective weights are u1, u2, . . . then job i precedes job i+1 if E(ti)/ui < E(ti+1)/ui+1 • Multiple Machines: Requires the assumption that the distribution of job times is exponential, (memoryless property). Assume parallel processing of n jobs on two machines. Then the optimal sequence is to to schedule the jobs according to LEPT (longest expected processing time first). • Johnsons algorithm for scheduling n jobs on two machines in the deterministic case has a natural extension to the stochastic case as long as the job times are exponentially distributed. Stochastic Scheduling: Queueing Theory A typical queueing process Served customers leaving Customers arriving Service Facility Discouraged customers leaving • “The basic phenomenon of queueing arises whenever a shared facility needs to be accessed for service by a large number of jobs or customers.” (Bose) • “The study of the waiting times, lengths, and other properties of queues.” (Mathworld) Applications: Telecommunications Health services Traffic control Predicting computer performance Airport traffic, airline ticket sales Layout of manufacturing systems Determining the sequence of computer operations Examples of Queueing Theory http://www.bsbpa.umkc.edu/classes/ashley/Chaptr14/sld006.htm Stochastic Scheduling: Dynamic Analysis • View network as collections of queues – FIFO data-structures • Queuing theory provides probabilistic analysis of these queues • Typical operating characteristics of interest include: – Lq = Average number of units in line waiting for service – L = Average number of units in the system (in line waiting for service and being serviced) – Wq = Average time a unit spends in line waiting for service – W = Average time a unit spends in the system – Pw = Probability that an arriving unit has to wait for service – Pn = Probability of having exactly n units in the system – P0 = Probability of having no units in the system (idle time) – U = Utilization factor, % of time that all servers are busy Characteristics of Queueing Processes • Arrival pattern of customers • Service pattern of servers • Queue discipline • System capacity • Number of service channels • Number of service stages Characteristics of Queueing Processes • Arrival pattern of customers – Probability distribution describing the times between successive customer arrivals • Time independent Stationary arrival patterns • Time dependent Non-stationary – Batch or Bulk customer arrivals • Probability distribution describing the size of the batch – Customers behavior while waiting • Wait no matter how long the queue becomes • If the queue is too long, customer may choose not to enter into the system • Enter, wait, and choose to leave without being serviced • If there is more than one waiting line, customer may switch “jockey” Characteristics of Queueing Processes • Arrival pattern of customers • Service pattern of servers – Single or Batch – May depend on the number of customers waiting state dependent – Stationary or Non-stationary • Queue discipline – – – – – Manner in with customers are selected to service First Come First Served (FCFS) Last Come First Served (LCLS) Random Selection for Service (RSS) Priority Schemes • Preemptive case • Non-preemptive case Characteristics of Queueing Processes • • • • Arrival pattern of customers Service pattern of servers Queue discipline System capacity – Finite queueing situations = Limiting amount of waiting room • Number of service channels – Single-channel system – Multi-channel system, generally assumed that parallel channels operate independently of each other • Number of service stages Notation Used in Queueing Processes Full notation: A / B / X / Y / Z Shorthand: A/B/X A – indicates the interarrival-time distribution B – the probability distribution for service time X – number of parallel service channels Y – the restriction on system capacity Z – the queue discipline (FCFS) Assumes: Y is infinity, Z = FCFS Symbol = Explanation A B M = Exponential, D = Deterministic, Ek = Erlang type Hk = Mixture of k exponentials, PH = Phase type, G = General X Y 1, 2, ... , infinity 1, 2, ... , infinity Z FCFS, LCLS, RSS, PR = priority, GD = general discipline Queueing Processes: Little’s Formulas One of the most powerful relationships in queueing theory was developed by John D.C. Little in the early 1960s. Formulas: L W and Lq Wq, where λ is an average rate of customers entering the system, and W is an expected time customer will spend in the system Number of customers in system 3 2 1 Time, t t1 t2 t3 t4 t5 t6 t7 T Poisson Process & Exponential Distribution • M: stands for "Markovian", implying exponential distribution for service times or inter-arrival times, that carries the memoryless property – past state of the system does not help to predict next arrival / departure n-1 m n m n+1 m m Calculating Expected System Measures for M/M/1 0 <m 1 m 2 m CHARACTERISTIC Utilization Exp. No. in System Exp. No. in Queue Exp. Waiting Time Exp. Time in Queue Prob. System is Empty m SYMBOL ρ L Lq W=L/ λ Wq=Lq/ λ P0 The utilization rate: ρ = λ / μ P0 = 1 – ρ Pi = ρi(1 – ρ), for i = 1, 2, 3,… these formulas hold only if FORMULA λ/μ λ / (μ – λ) = ρ / (1-ρ) λ2/ μ(μ – λ) = ρ2 / (1-ρ) 1 / (μ – λ) = ρ / λ(1-ρ) λ / μ(μ – λ) = ρ2 / λ(1-ρ) 1 – (λ / μ) = 1 - ρ Calculating Expected System Measures for M/M/m http://www.ece.msstate.edu/~hu/courses/spring03/notes/note4.ppt Calculating Expected System Measures for M/M/m Assumption - m servers - all servers have the same service rate μ - single queue for access to the servers - arrival rate λn = λ nm , n 0, 1, 2,, m 1 - departure rate m n mm , n m, m 1, λ 0 λ 1 μ λ 2 2μ … 3μ λ λ (m-1)μ m m-1 mμ λ λ m+1 mμ mμ Calculating Expected System Measures for M/M/m m m 1 1 P0 m! n0 n! m 1 n m W Wq 1 m λ 0 μ λ 3μ L Lq m λ λ … 2 2μ m m m1 Lq P 2 0 m!1 Wq Lq λ 1 1 m m-1 (m-1)μ mμ λ λ m+1 mμ mμ Example • Unisex hair salon runs on a first-come, first-served basis. Customers seem to arrive according to a Poisson process with mean arrival rate of 5/hr. Because of Ms. H.R. Cutt’s excellent reputation, customers are always willing to wait. Average service time of 10 min is exponentially distributed. • Calculate the average number of customers in the shop and the average number of customers waiting for a haircut. • Calculate the percentage of time an arrival can walk right in without having to wait at all. • The waiting room has only 4 seats. What is the probability that a customer upon arrival rill have to stand? • Calculate average system waiting time, and the line delay. Other Systems M/M/1/K - system with a capacity K λeff = effective arrival rate M/D/1; M/G/1; M/G/∞ Assignment: download the QTS add-in for Excel software to check the homework problems answers http://www.geocities.com/qtsplus/DownloadInstructions.htm#DO WNLOAD_INSTRUCTIONS Homework Assignment • • • • Read Ch. 8 (8.1 – 8.10) Read Supplement Two (S2.1 - S2.13) 8.4, 8.5, 8.7, 8.12, 8.15, 8.18, 8.23, 8.25, 8. 27, 8.28 References • Presentation by McGraw-Hill/Irwin • Presentation by Professor JIANG Zhibin, Department of Industrial Engineering & Management, Shanghai Jiao Tong University • “Production & Operations Analysis” by S.Nahmias • “Production: Planning, Control, and Integration” by Sipper and Bulfin Jr. • “Inventory Management and Production Planning and Scheduling” by Silver, Pyke and Peterson • “Fundamentals of Queueing Theory” by Cross and Harris • http://www.geocities.com/qtsplus/DownloadInstructions.htm#DOW NLOAD_INSTRUCTIONS QTS analysis for Excel