Download Presentation
## Chapter 8 Operations Scheduling

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Scheduling Problems in Operations**• Job Shop Scheduling • Personnel Scheduling • Facilities Scheduling • Vehicle Scheduling and Routing • Project Management • Dynamic versus Static Scheduling**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)**Input parts**Machine 1 Machine 2 Machine 3 Machine 4 Finished Products Input parts Input parts Input parts Input parts Machine 1 Machine 2 Machine 3 Machine 4 Finished Products Terminology • Flow shop: shop design in which machines are arranged in series A Pure Flow Shop • Ingeneral flow shopa job may skip a particular machine**Input parts**Machine i Jobs arriving from WIP Jobs leaving as WIP 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 One Machine in a Job Shop**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)**Processing**Due date Completion Flowtime Lateness Earliness Tardiness 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 Completion Flowtime Lateness Earliness Tardiness SPT Example Shortest Processing Time is optimal for minimizing • Average and Total flowtime • Average waiting time • Average and Total lateness**Weights**Processing Due date Completion Flowtime Lateness Earliness Tardiness SWPT Example Shortest Weighted Processing Time -total weighted down time -sequencing**Processing**Due date Completion Flowtime Lateness Earliness Tardiness EDD Example Earliest Due Date**CR Example**Critical Ratio: Subtract Current Time Schedule jobs 1 4 3 2 5**Processing**Due date Completion Flowtime Lateness Earliness Tardiness CR Example(cont) Critical Ratio:**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.**Processing**Due date Completion Flowtime Lateness Earliness Tardiness EDD Example Earliest Due Date**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**Alt. solution: 1— 4 — 2 — 5 — 3**Example Moore Algorithm Iteration 1 Iteration 2 Iteration 3**Lawler’s Algorithmminimizes 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**1**D1=2 D2=5 2 3 D3=4 4 5 6 D4=3 D5=5 D6=6 Lawler’s Example: Processing for all jobs is 1 day • One machine Ffinal = 1+1+1+1+1+1 = 6 • Select from jobs {4,5,6} such that gives • min{6-3, 6-5, 6-6}=0 job 6 is a last job 2) Recalculate F: F = 6-1= 5 Select from jobs {3,4,5} such that gives min{5-4, 5-3, 5-5}=0 order x-x-x-x-5-6 3)Recalculate F: F = 5-1= 4 Select from jobs {3,4} such that gives min{4-4, 4-3}=0 order x-x-x-3-5-6 4) Recalculate F: F = 4-1= 3 Select from jobs set {4} order x-x-4-3-5-6 5) Recalculate F: F = 3-1= 2 Select from jobs set {2} order x-2-4-3-5-6 6) Recalculate F: F = 2-1= 1 Select from jobs set {1} order 1-2-4-3-5-6**1**D1=2 D2=5 2 3 D3=4 4 5 6 D4=3 D5=5 D6=6 Processing Due date Completion Flowtime Lateness Earliness Tardiness Lawler’s Example: 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 for all jobs is 1 day**Machine 1**1 2 Machine 2 1 2 Time (days) 3 5 6 11 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 Question: Is it an optimal schedule? Are there any precedence constrains?**8**Machine 1 Machine 1 1 1 2 2 Machine 2 Machine 2 2 2 1 1 Time (days) Time (days) 3 3 5 5 6 6 11 11 Machine 1 2 1 Machine 2 1 2 Machine 1 1 2 Time (days) 3 5 6 11 8 Machine 2 1 2 Time (days) 3 5 6 11 8 Gantt Charts Question: How to determine THE optimal solution? What makes scheduling problem more difficult?**2**1 4 3 M 1 1 2 4 3 3 4 2 1 M 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 M 3 Example Completed by 14 11 13 (late) 10 (late) Find a solution!**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**1**2 4 3 1 2 3 4 7 14 16 22 Example MetalFrame makes 4 different types of metal door frames. Preparing the hinge upright is a two-step operation. Natural schedule: Is it optimal? If idle time for machine 2 is equal to zero, then we have found an optimal solution**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 jin the optimal sequence if 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**1**2 4 3 1 2 3 4 7 14 16 22 1 2 4 3 4 2 1 3 7 14 17 22 Example (cont) Johnson’s schedule: 4 – x – x – x 4 – x – x – 3 4 – x – 1 – 3 4 – 2 – 1 – 3 Natural schedule: Johnson’s schedule: Is it optimal?**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 • or • 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 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. 10 + (6)=16 12 +(3)=15**F**C C B B D D A A J1 J2 A C B D D C B A A D C B 7 11 15 18 J1 J2 A B C D D B C A Example 14+2+2=18 14+4=18**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 • 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 mail-order 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.**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. 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) C=15 The ranking: 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12**15**Helgeson and Birnie Heuristic (1961) C=15 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 Cycle Time=15 T1=12 T2=6 T2=6 T3=6 T4=2 T5=2 T5=2 T6=12 T9=1 T7=7 T8=5 T10=4 T10=4 T11=6 T12=7 T12=7**Helgeson and Birnie Heuristic (1961)**C=15 C=16 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; C=13**Helgeson and Birnie Heuristic (1961)**C=15 C=16 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; C=13**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.**Served customers leaving**Customers arriving Service Facility Discouraged customers leaving Stochastic Scheduling: Queueing Theory A typical queueing process • “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