Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
LESSON 12: INTRODUCTION TO OPERATIONS SCHEDULING Outline • Hierarchy of Production Decisions • Operations Scheduling • Production Systems 1 Hierarchy of Production Decisions • After a production facility and processes are set up, a series of production planning decisions are required. The entire decision making process may be viewed as a hierarchical process. A conceptual view of the hierarchical process is given in Text Figure 8-1 (see the next slide). • First, one would like to know how much demand may be expected and when the demand may be expected. This question is addressed by forecasting. • An aggregate plan determines the aggregate production levels and resource capacities over the planning horizon. The production levels are often different from the 2 Figure 8-1: Hierarchy of Production Decisions Forecast of demand Aggregate Plan Master Production Schedule Material Requirements Planning System Detailed Job Shop Schedule 3 Hierarchy of Production Decisions forecasted demand levels because of seasonality associated with the demand, constraints on the availability of production resources, etc. The resource capacities such as workforce levels are determined assuming one aggregate unit of production. • Master production schedule (MPS) translates the aggregate plan in terms of specific units of production and time period. For example, an aggregate plan may require 550 units of chairs in April. MPS then translates the requirement into 200 units of desk chair in Week 1, 150 units of ladder-back chair in Week 2 and 200 units of Kitchen chair in Week 3. 4 Hierarchy of Production Decisions • The MPS generates the production plan in terms of finished products which often require components or subassemblies. The materials requirements planning (MRP) computes the changes in the inventory levels of components and subassemblies over the planning horizon and determines the size and timing of ordering the components and subassemblies. • Next comes operations scheduling. After generating demand forecast, workforce capacities, production plan, and purchasing plan, it’s logical to ask which worker or machine will be used to produce which product and when the products will be produced. This is answered by operations scheduling. 5 Operations Scheduling • An operations scheduling question is given in the previous slide. In more general terms, operations scheduling is the allocation of resources over time to perform a collection of tasks. • Examples of resources: – Workers, Machines, Tools • Examples of tasks: – Operations that bring some physical changes to material in order to eventually manufacture products – Setups such as walking to reach the workplace, obtaining and returning tools, setting the required jigs and fixtures, positioning and inspecting material, cleaning etc. 6 Operations Scheduling • Operations and Jobs – The above definition of scheduling uses the more general term of task that includes both operations and setup. – We shall most often use the terms operation and job. – A collection of operations on a single product is a job. • The planning horizon – The planning horizon of a scheduling decision is very short say days, weeks or months. • Schedule – A schedule is the final outcome of operations scheduling and gives a detail chart of what activities will be done using 7 various resources over the planning horizon. Operations Scheduling • Sequencing – Sequencing and scheduling are similar terms. But sequencing does not refer to time. For example, if a bank teller processes 5 customers, the bank teller may just process the customers on a first come first served basis without any planning about exact start and end times for each customer. That’s sequencing. Scheduling, in contrast, produces a detail plan of various activities over time. • A Gantt chart representation of a schedule – A Gantt chart representation of a schedule is shown on the next slide. Suppose that there are two machines: one lathe machine and one grinding machine. Two jobs Job A12 and 8 Job B23 are to be produced over the next 14 days. Operations Scheduling Lathe machine Job A12 Job B23 Job A12 Grinding machine 2 4 6 8 Job B23 10 12 14 Days 9 Operations Scheduling – The schedule shown on the Gantt chart gives a detail plan: • The lathe machine will be used by Job A12 on days 1-4, and Job B23 on days 5-8 • The grinding machine will be used by Job A12 on days 5-10 and Job B23 on days 11-14. – Notice that • No job uses more than one machine simultaneously • No machine processes more than one job simultaneously. • The above are some standard assumptions/ requirements which will be maintained throughout this chapter/ course. 10 Operations Scheduling – As it is in the example Gantt chart, it is customary to show: • resources such as machines on the y-axis • time on the x-axis and • each job (or operation) by a rectangle proportional to the length of the time required to process the job (or operation). – The Gantt chart is used not only for planning but also for monitoring. For example, on Day 8, one can check if Job B23 is completed by the lathe machine. – There will be more exercises on Gantt chart in Lessons 2, 5, 6 and 9. 11 Operations Scheduling • Generalization of scheduling models, job and machine – The scheduling models use the terms like job and machine. However, the models actually apply to many processes that has nothing to do with jobs and machine at all! – For example, suppose that Mary and Marcia require advising in three subjects: business, computer science and mathematics. Each of Mary and Marcia will see the advisors separately. They would like to complete discussions as soon as possible. One can view the situation a 3-machine, 2-job problem where the machines represent the advisors and jobs represent 12 Mary and Marcia. Production Systems • Product characteristics differ. • Some products are standard and require minimal or no variation from one item to another. These products are produced in large volume on the basis of demand forecast. Examples of standard products include staple products, economy cars, etc. • Some other products are produced only on the basis of customer order and there exist significant differences among the items. These products are produced in low volumes. Examples of custom products include luxury cars, fashion clothes, etc. 13 Production Systems • Different product characteristic requires a different production system. • Standard products require a – make-to-stock or assemble-to-stock production system • Custom products require a – make-to-order or assemble-to-order production system 14 Production Systems: Flow Shop • A make-to-stock/assemble-to-stock production system is associated with – High volume of production: so, it’s feasible to make a high capital investment – Less variation: so, there is less uncertainty – Standard products: so, there is a predictable pattern of flow of jobs through the machines. – The above characteristics of products encourages the use of a flow shop: the machines are arranged in the order in which every job visits the machines. The production system is not flexible; it cannot produce items 15 if design changes significantly. Production Systems: Flow Shop IN OUT The above picture is a conceptual view of a flow shop. The boxes represent machines and the arrows show the job flow. 16 Every job visits the machines in the same order. Production Systems: Job Shop • A make-to-order/assemble-to-order production system is associated with – Low volume of production: so, it’s not feasible to make a high capital investment – More variation: so, there is more uncertainty – Custom products: so, there is no predictable pattern of flow of jobs through the machines. – The above characteristics of products encourages the use of a job shop: the machines are arranged functionally. So, the production system is flexible; it can produce items of a wide variety of designs. 17 Production Systems: Job Shop Lathe Department Milling Department Drilling Department L L M M D D D D L L M M D D D D L L G G G P L L G G G P L L Grinding Department Receiving and Shipping Painting Department A A A Assembly A conceptual view of a job shop 18 Production Systems: Batch Production • In between flow shop and job shop, there is batch production that gives best of both shops (flow shop and job shop) to some extent. • A batch production system is flexible like a job shop, but capable of producing a moderately high volume like a flow shop. • Similar but different products are produced using the same facility, machine or workforce. However, the system is associated with setups. Whenever the facility, machine or worker switches from producing one product to another, a setup time or cost is needed. 19 Production Systems: Batch Production • Between two successive setups a batch of the same product is produced. • Now, look at the problem: – If the batch size is too high, all the other products requiring the facility, worker or machine will have to wait for a very long time. – If the batch size is too small, most of the time will be spent on setups and there will be nothing to sell. • So, the batch size must be neither too large, nor too small. Similarly, the volume of production must be moderate. 20 Production Systems: Batch Production • Examples: – Books – Pastry – Painting – Automobile gears (the picture shows a Computer Numerical Control (CNC) machine used to produce gears) 21 Production Systems Project and Continuous Production • Flow shop is not the extreme case with respect to the high volume of production. The continuous production system is used in process industry e.g., oil refinery is set up to produce products with little or no variety 24 hours/day and 7 days/week. • Job shop is not the extreme case with respect to flexibility or customization. Huge projects are managed to produce a bridge, a sky-scraper, an aeroplane, a submarine, etc. 22 Production Systems High Project Customization Job Shop Batch production Flow Shop Continuous Production Low Low Volume High 23 Aircraft Project Job Shop Customization High Production Systems Custom-made Machine and Parts Batch production Flow Shop Books Automobile Oil refinery Continuous Production Low Low Volume High 24 High Project Labor Intensive Production Systems Customization Job Shop Batch production Flow Shop Capital Intensive Continuous Production Low Low Volume High 25 READING AND EXERCISES Lesson 12 Reading: Section 8.1, pp. 413-416 (4th Ed.), pp. 404-405 (5th Ed.) Exercises: 8.3a, 8.3b, p. 425 (4th Ed.), p. 413 (5th Ed.) 8.31 (identify the job and machine) p. 464 (4th Ed.), p. 450 (5th Ed.) 26 LESSON 13: SCHEDULING OBJECTIVES Outline • • • • Job Characteristics Comparison of Schedules Scheduling Terms Scheduling Objectives 27 Job Characteristics • Lesson 1 provides a brief discussion on production systems. We have discussed some alternative ways of arranging machines. In this lesson, we shall first discuss some job characteristics and scheduling objectives. • Generally, every job is different (an exception is an assembly line where the jobs are identical). For example, in case of a make-to-order or an assemble-to-order production system, every order – is placed at a different time, – requires a different amount of processing time and – is delivered at a different time. 28 Job Characteristics • Job characteristics are important inputs to job shop, batch production and flow shop scheduling. Every job has a – ready time: the time when the job arrives at the shop floor – processing time: the time required to process the job – due date: the time when the job must be completed • Notation: rj Ready time for job j t j Processing time for job j d j Due date for job j 29 Job Characteristics • Assumptions: – A machine can process one job at a time – A job can be processed by one machine at a time – We usually assume an equal importance and the same arrival time for all jobs (Example 1 is an exception, where jobs arrive at different times). Further, we assume that preemption is not allowed. So, once a job is started on a machine, the job must be completed before another job can be processed by that machine. 30 Comparison of Schedules • • • • First, we shall see an example where no schedule is best in every criteria. Example 1: Suppose that a production facility starts at 8:30 am. Two jobs will be processed. Job 1 can be started right away, will require 2 hours to process and the customer wants the job done by 12:30 pm. Job 2 can be started not until 9:30 am, will require 1 hour to process and the customer wants the job done by 10:30 am. It’s customary to set start time, t 0 and express all other times with a suitable unit. So, set t 0 at 8:30 am and express all other times in hours. 31 Comparison of Schedules • • • So, Job 1 has a ready time of 0 hour (can be started right away), processing time of 2 hours and due date of 4 hours (due at 12:30 pm, 4 hours after the start of the process) Similarly, Job 2 has a ready time of 1 hour (can be started not until 9:30 am), processing time of 1 hour and due date of 2 hours (due at 10:30 am, 2 hours after the start of the process) The job characteristics so obtained are shown below: Job j 1 2 Ready Processing Time (hr) Time (hr) rj tj 0 1 2 1 Due Date (hr) dj 4 2 32 Comparison of Schedules • • • There are two alternative schedules (sequences) Schedule 1: process Job 1 first, then Job 2. Schedule 2: process Job 2 first, then Job 1. Schedule 1 (see the next slide): – Only 3 hours will be needed to complete the jobs. – However, Job 2 can be completed at time 3 which is late by 1 hour. Schedule 2 (see the next slide): – Both the jobs are completed right when they are needed. – However, a total of 4 hours will be needed 33 Comparison of Schedules • • Schedule 1 requires the facility to be open for fewer hours (3 hours only in contrast to 4 hours required by Schedule 2) Schedule 2 meets the due dates (Schedule 1 does not) Schedule 1 Job 1 Job 2 d2 1 0 2 Time, t d1 3 4 Schedule 2 Job 2 Job 1 d2 0 1 2 Time, t d1 3 4 34 Comparison of Schedules • • Next, we shall see a similar example with a different pair of criteria. Example 2: An auto repair shop has a space problem and requires parking fees for all cars waiting for service. The shop starts at 8:30 am and two cars are waiting to be repaired. Car 1 will require 1 hour and the customer wants the job done by 12:30 pm. Job 2 will require 3 hours and the customer wants the job done by 11:30 am. Car j 1 2 Ready Processing Due Time (hr) Time (hr) Date (hr) rj tj dj 0 0 1 3 4 3 35 Comparison of Schedules • • Schedule 3 requires less parking fees (1 hour only in contrast to 3 hours required by Schedule 4) Schedule 4 meets the due dates (Schedule 3 does not) Schedule 3 Car 1 Car 2 d2 0 1 2 Time, t d1 3 4 Schedule 4 Car 2 Car 1 d2 0 1 2 Time, t d1 3 4 36 Scheduling Terms • Static versus dynamic scheduling – In static scheduling, jobs are all available for processing right at time t 0 when the processing starts. An example is a grocery store that collects orders online. When the manager comes to the store at 8:30 am, the manager finds orders collected throughout the night and must be delivered on that day. – In dynamic scheduling, jobs are not available all at time . An example is a bank where customers arrivet throughout its service hours. 0 37 Scheduling Terms • Deterministic versus stochastic scheduling – In deterministic scheduling, the job characteristics such as ready time, r j processing time, t j and due date, d j are all known with certainty. Processing times required by machines may be predicted precisely. – In stochastic scheduling, the job characteristics are uncertain. Some parameters such as mean and variance are assumed to be known from historical observation. The service times required by workers are often assumed to be uncertain. 38 Scheduling Terms • Feasible versus Infeasible schedule – A feasible schedule meets all the constraints and an infeasible schedule does not. Precedence constraints often associate with the scheduling process. A precedence constraint puts restriction on the sequence of operations. For example, a painting process may have three stages: cleaning the product, surface activation for paint adhesion, and select and application of paint. These stages must be performed in the stated sequence. A schedule is not feasible if the jobs are not processed in that sequence. 39 Scheduling Terms • Parallel versus sequential processing Exit – In parallel processing, there are multiple identical M1 M2 M3 machines and a job can be processed by any machine. Machines An example is a computer Jobs with multiple processors. Enter Another example is a bank with multiple tellers. On the right, see a conceptual view with 3 parallel machines, M1, M2 and M3. 40 Scheduling Terms • Parallel versus sequential processing – In a sequential processing, jobs are sequentially processed through the machines. An example is McDonald’s drive through that has three stages: place order, pay and pick-up. Below, see a conceptual view with 3 sequential machines M1, M2 and M3. Jobs Enter M1 M2 Machines M3 Exit 41 Scheduling Terms • Completion time versus flow time – Completion time of Job j , C j is the epoch when a job is completed. The length of time is computed from the start of operations. – Flow time is a similar term. However, the length of time is computed from the arrival of the job. Flow time of Job j , F j is the length of time between arrival and completion of the job. So, F j C j rj – Between arrival and completion, a job is either in queue for a machine or processed by a machine. So, F j W j t j where W j is the waiting time of Job 42 j Scheduling Terms • Completion time versus flow time Example 3: Consider Example 1, Schedule 1 on slides 5-8. The facility starts at 8:30 am, Job 2 arrives at 9:30 am, waits for an hour before its processing starts at 10:30 am, and the job is completed at 11:30 am. The completion time and flow time are shown below: • Set t 0 at 8:30 am and the unit of time = hour • Job 2 is completed at 11:30 am, 3 hours after the start of operation, so completion time, C2 = 3 hours. • Job 2 arrives at 9:30 am, 1 hour after the start of operation, so r2 1 hour and F2 C2 r2 3 1 2 hours 43 Scheduling Terms • Completion time versus flow time Schedule 1 C2 Job 1 F2 Job 2 r2 0 1 2 Time, t 3 4 – Important note: if all the jobs are ready for processing at t 0, as they are in static scheduling, then completion time is just the same as flow time. Fj C j if rj 0 44 Scheduling Terms • Lateness versus tardiness – Lateness of job j , L j C j d j – So, lateness of a job may be • negative, if the job is early • zero, if the job is completed right when it’s due • positive, if the job is late – Often, earliness is not rewarded but lateness is penalized. So, another term, tardiness is used which is a non-negative quantity. Tardiness is zero or the same as lateness. If the job is early or completed when it’s due, tardiness is set to zero. Otherwise, the job is late, and tardiness is set to its lateness. 45 Scheduling Terms • Lateness versus tardiness – Tardiness of job j , T j max 0, L j – In other words, tardiness of job j , T j • 0, if it’s completed on or before its due date, L j 0 • L j , if it’s completed after its due date, L j 0 Example 4: Consider Example 1, Schedule 1 on slides 5-8. C1 2, C2 3, d1 4, d 2 2 . The lateness and tardiness of Jobs 1 and 2 are computed on the next slide. 46 Scheduling Terms • Lateness versus tardiness L1 C1 d1 2 4 2 L2 C2 d 2 3 2 1 T1 max 0, L1 max 0,2 0 T2 max 0, L2 max 0,1 1 – Job 1 is early. So, its lateness is negative and its tardiness is 0. – Job 2 is late (or tardy). So, its lateness is positive and its tardiness is the same as its lateness. T1 0 T2 L2 47 Scheduling Terms • Makespan, maximum lateness, total completion time – These are three important criteria (scheduling objective) which are often used to choose a best schedule because of their important practical implications. – Makespan is the completion time of the last job processed. Although makespan is defined as a completion time of a job, it actually measures how long the production facility should remain open. – Makespan is denoted by , Cmax Cmax max C1 , C2 , C3 ,, Cn 48 Scheduling Terms • Makespan, maximum lateness, total completion time – In Example 1, Schedule 1, Slide 8, Job 2 is the last processed job. So, makespan is the completion time of Job 2. Cmax max C1 , C2 max 2,3 3 C2 – In Example 1, Schedule 2, Slide 8, Job 1 is the last processed job. So, makespan is the completion time of Job 1. Cmax max C1 , C2 max 4,2 4 C1 – Observe that makespan is completion time of Job 1 or Job 2 depending on which job is processed last. 49 Scheduling Terms • Makespan, maximum lateness, total completion time – For a single machine static scheduling problem (i.e., jobs are all available for processing in the beginning), makespan is the sum of all processing times. However, for a multi-machine problem, makespan may be different from the sum of all processing times. – Maximum lateness is denoted by Lmax Lmax max L1 , L2 , L3 ,, Ln – In Example 1, Schedule 1, Slide 7, L1 C1 d1 2 4 2, L2 C2 d 2 3 2 1 Lmax max L1 , L2 max 2,1 1 50 Scheduling Terms • Makespan, maximum lateness, total completion time – In Example 1, Slides 5-8, Schedule 1 minimizes makespan and Schedule 2 minimizes maximum lateness. – Total completion time is the sum of all completion times. Notice that total completion time is not the same as makespan. Total completion time is denoted by Cj C j C1 C2 C3 Cn – In Example 2, Slides 9-10, Schedule 3 minimizes not only parking fees but also total completion time. In general, if a schedule frees up space fast, the schedule minimizes total completion time. Schedule 4 minimizes maximum lateness. 51 Scheduling Objectives • As it may be observed from Examples 1 and 2, different schedule may be better with respect to different criterion (scheduling objective). • So, it’s very important to set up a suitable scheduling objective in order to get a suitable schedule. • There are many scheduling objectives and different situation calls for a different objective. • The next slide provides a brief list of scheduling objectives divided into four groups. • See Section 8.5, pp. 423-424 for a discussion on how different situation requires a different schedule. 52 Scheduling Objectives • Conformance to prescribed deadlines – Meet customer due dates, minimize job lateness, minimize maximum lateness, minimize number of tardy jobs • Response time or lead time – Minimize mean completion time, minimize average time in the system • Efficient utilization of resources – Maximize machine or labor utilization, minimize idle time, maximize throughput, minimize the length of time the shop is open, minimize utilities and wages • Costs 53 – Minimize work-in-process inventory, minimize overtime READING AND EXERCISES Lesson 13 Reading: – Sections 8.2-8.3, pp. 416-419 (4th Ed.), pp. 406409 (5th Ed.) – Section 8.5, pp. 423-424 (4th Ed.), pp. 412-414 (5th Ed.) Exercises: – 8.1, 8.2, 8.3 (parts c, d, e) pp. 424-425 (4th Ed.), p. 413 (5th Ed.) LESSON 14: SCHEDULING WITH PRIORITY SEQUENCING RULES Outline • • • • Sequencing Sequencing Rules Sequencing Rule Example Remarks Sequencing • As it is discussed in Lesson 1, scheduling and sequencing are similar terms. Scheduling provides a detail plan over time. Sequencing does not refer to time at all. • Sometimes, a unique schedule follows from a given sequence. In such a case, it’s enough to solve the sequencing problem and not worry about the detail scheduling problem. For example, in Lesson 2, Example 1, Schedule 1 follows from sequencing Job 1 before Job 2 and Schedule 2 follows from sequencing Job 2 before Job 1. Sequencing Rules • The first sequencing rule, that comes naturally to everyone’s mind is the first-come first-served (FCFS) rule. We observe this rule several times a day when we visit a bank for a teller’s service, wait in a grocery store check-out, or cross the Ambassador bridge. The rule is simple, but not always the best. • It’s certainly not desirable that a customer who has to pay for just one bag of bread must wait in a queue behind another customer with a cart full of groceries. So, the express lines are established. This is some sort of implementation of the shortest processing time (SPT) rule. Sequencing Rules • You get the most value of money if you pay the bills on the due dates. The simplest rule that comes to mind in presence of due dates is the earliest due date (EDD) rule which requires that the jobs be done in the order in which the jobs are due. • Often in manufacturing, items are put in a stack. The last item arriving is put on the top and processed first. The last-come first-served (LCFS) rule is also observed in elevators. The person arriving last must step out first. • The critical ratio (CR) rule combines SPT and EDD rule. The CR rule is explained on the next slide. Sequencing Rules: Critical Ratio • CR = time remaining / work remaining = due date - today’s date remaining processing time • Each time a job is scheduled, CR is recalculated for every unscheduled job. • CR selection criteria – Jobs with the smallest CR are run first. – Jobs with negative CR are scheduled first. – If there is more than one job with negative CR, then those jobs are sequenced in SPT order. Sequencing Rule Example Processing Due Job Time Date A 5 10 B 10 15 C 2 5 D 8 12 E 6 8 Suppose that 5 jobs will be processed on a single machine. The jobs are ready for processing at time t 0. The other job characteristics are as shown in the table on left. Sequencing Rule Example • First, see how many alternatives are there. If there is one job, there is just 1 (=1!) alternative sequence. • If there are two jobs 1 and 2, there are 2 (=2!) alternative sequences, 1, 2 and 2, 1 • If there are three jobs 1, 2 and 3, there are 6 (=3!) alternative sequences, 1,2,3 1,3,2 2,1,3 2,3,1 61 3,1,2 3,2,1 Sequencing Rule Example • In general, if there are n jobs, then there are n! sequences. • So, for example, for 5 jobs, there are 5! = 120 sequences. • The sequencing rules such as FCFS, SPT, EDD, LCFS and CR provide a specific sequence. Often, these simple rules provide good and useful results. • The sequencing rules FCFS, SPT, EDD, LCFS and CR will now be applied and various measures will be computed. 62 First-Come First-Served Start Processing SequenceTime Time A B C D E Average 5 10 2 8 6 Completion Time Due Date 10 15 5 12 8 Tardiness Shortest Processing Time Start Processing SequenceTime Time C A E D B Average 2 5 6 8 10 Completion Time Due Date Tardiness 5 10 8 12 15 64 Earliest Due Date Start Processing SequenceTime Time C E A D B Average 2 6 5 8 10 Completion Time Due Date 5 8 10 12 15 Tardiness Last-Come First-Served Start Processing Sequence Time Time E D C B A Average 0 6 14 16 26 6 8 2 10 5 Completion Time Due Date 6 14 16 26 31 18.60 8 12 5 15 10 Tardiness 0 2 11 11 21 9 LCFS rule: The jobs are arranged in last-come first-served order. Critical Ratio • Unlike FCFS, SPT, EDD and LCFS, the CR sequence is obtained by using an iterative procedure. Then, various measures are computed using the CR sequence. • The CR rule is applied in two phases – Phase I: • Find the CR sequence using an iterative procedure. In each iteration, one job is assigned to a position. First a job is assigned to the first position, then to the second position, and so on. 67 Critical Ratio • Initially, the current time is set to zero. In each iteration the current time is augmented by the processing time of the job assigned in the previous iteration. • Then, CR is computed for every unassigned job. See Slide 5 for the CR formula. • The CR rule is applied to select the job that will be assigned. See Slide 5 the CR selection criteria. – Phase II: • Various performance measures are computed using the CR sequence obtained in Phase I. 68 Phase I Critical Ratio Current Time Job Processing Due Critical Assign? Date Ratio Time 10 5 A 15 10 B 5 2 C 12 8 D 8 6 E Iteration 1 69 Phase I Critical Ratio Current Time Job Processing Due Critical Assign? Date Ratio Time 10 5 A 15 10 B 5 2 C 12 8 D 8 6 E Iteration 2 70 Phase I Critical Ratio Current Time Job Processing Due Critical Assign? Date Ratio Time 10 5 A 15 10 B 5 2 C 12 8 D 8 6 E Iteration 3 71 Phase I Critical Ratio Current Time Job Processing Due Critical Assign? Date Ratio Time 10 5 A 15 10 B 5 2 C 12 8 D 8 6 E Iteration 4 72 Phase II Critical Ratio Start Processing SequenceTime Time Completion Time Due Date Tardiness E 6 8 C 2 5 A 5 10 D 8 12 B 10 15 Average CR rule: The jobs are arranged in order obtained by the iterative procedure shown on Slides 27-32. Summary Rule FCFS SPT EDD LCFS CR Average Completion Time 18.60 14.80* 15.00 18.60 15.80 Average No. of Maximum Tardiness Jobs Tardy Tardiness 9.6 6.0 5.6* 9.0 6.2 * Best values Guaranteed best values are shown in bold 3* 3* 3* 4 4 23 16* 16* 21 16* Remarks • Observe that the makespan is the same for every schedule. This is expected for a single machine problem if ready times are all zero (static scheduling). For a multi-machine problem, makespan may be different from one schedule to another. • Total completion time and mean completion time are equivalent objectives. Since mean completion time is obtained from the total completion time by dividing the total completion time by the number of jobs, – if a schedule minimizes total completion time, it also minimizes mean completion time. Remarks • Similarly, total flow time and mean flow time are equivalent objectives. If a schedule minimizes total flow time, it also minimizes mean flow time. • In case of static scheduling, completion time of a job is the same as its flow time. So, the following objectives are equivalent (if a schedule minimizes one, it also minimizes all other) – Total completion time – Mean completion time – Total flow time – Mean flow time Remarks • The objective of minimizing inventory carrying costs such as parking fees in Lesson 2, Example 2, is equivalent to minimizing total completion time. At this point, revisit this example on slides 9-10 of Lesson 2. Check that the total completion time is 1+4=5 for Schedule 3 and 3+4=7 for Schedule 4. Thus, Schedule 3 minimizes not only parking fees, but also total completion time. This holds in general. Minimizing inventory carrying costs is equivalent to minimizing total completion time, mean completion time, total flow time and mean flow time. Remarks • Lateness and tardiness are closely related terms. If a schedule minimizes maximum lateness, the schedule also minimizes maximum tardiness. However, the converse is not true. If a schedule minimizes maximum tardiness, the schedule does not necessarily minimize maximum lateness. Thus, maximum lateness and maximum tardiness are not equivalent. Plus, it’s more interesting to minimize maximum lateness because if maximum lateness is minimized, maximum tardiness is also minimized. • The Earliest Due Date (EDD) rule minimizes maximum lateness and maximum tardiness (for the single machine static scheduling problem). Remarks • • • • Total tardiness and mean tardiness are equivalent objectives. Total lateness and mean lateness are equivalent objectives. However, total lateness and total tardiness are different. Total lateness is total completion time minus the sum of the due dates. Since sum of the due dates is a constant (same for all schedules), minimizing total lateness is equivalent to minimizing total completion time. • So, the equivalence list grows: Remarks • The following objectives are equivalent: – Total completion time – Mean completion time – Total flow time (if ready times are all zero) – Mean flow time (if ready times are all zero) – Total lateness – Mean lateness – Inventory carrying costs • Shortest processing time (SPT) rule minimizes all of the above objectives (for the single machine static scheduling problem). Remarks • Priority rules are not available for minimizing number of tardy jobs. The next lesson will discuss a procedure for minimizing number of tardy jobs. • Minimizing total tardiness is difficult and not covered. READING AND EXERCISES Lesson 14 Reading: – Section 8.4, pp. 419-423 (4th Ed.), pp. 409-412 (5th Ed.) Exercises: – 8.4, 8.5, pp. 424-425 (4th Ed.), pp. 413-414 (5th Ed.) 82 LESSON 15: SINGLE MACHINE SCHEDULING Outline • • • • • Total Completion time Maximum Lateness Number of Tardy Jobs Forward and Backward Scheduling Precedence Constraints 83 Single Machine Scheduling • This lesson discusses the single machine scheduling problem. We assume that several jobs must be processed by a single machine. The jobs are all available for processing when the facility starts operation (static scheduling) • We discuss the problem of minimizing various objective functions such as total completion time, maximum lateness and number of tardy jobs. 84 Single Machine Scheduling • Minimizing makespan is not included in this lesson. Because in case of our single machine problem, the makespan is constant over all sequences. However, minimizing makespan is important and will be discussed for two or more machines. Because, various costs are directly proportional to makespan. This includes worker’s wages, utilities, overheads etc. • The last topic of the lesson is a procedure which is applied when there are some precedence constraints. 85 Total Completion Time • Different schedule provides different values of total completion time. Minimizing total completion time means finding a schedule that provides minimum total completion time. • Why is it important to minimize total completion time? – See Lesson 3, Slide 40 for some equivalences – Less total completion time means a job stays in the system (waiting time + processing time) for a shorter duration. 86 Total Completion Time – So, manufacturing lead time (the time between order placement and order delivery) is less. – If the system minimizes total flow time (a related objective), the individual customers are likely to experience a faster service (waiting time + service time). – Since the jobs stay in the system for a shorter duration, the inventory carrying costs are less. To see an example, revisit Example 2, Lesson 2, Slides 9-10. 87 Total Completion Time • Sequence the jobs in the Shortest Processing Time (SPT) order if there is a single machine and the objective is to minimize – Total (or, mean) completion time (or, flow time) – Total (or, mean) waiting time – Total (or, mean) lateness – Inventory carrying costs • Revisit Example 2, Lesson 2, Slides 9-10. There are two cars. Car 1 has a processing time of 1 hour and Car 2 has a processing time of 3 hours. 88 Total Completion Time • Since Car 1 has a smaller processing time than Car 2, the SPT rule requires that Car 1 be processed before Car 2. This is done by Schedule 3. • So, Schedule 3 is a SPT schedule and it has a total completion time = 1+4 = 5 hours. • Schedule 4 is a non-SPT schedule and it has a total completion time = 3+4 = 7. • Thus, the SPT schedule, Schedule 3 minimizes total completion time. 89 Maximum Lateness • Different schedule provides different values of maximum lateness. Minimizing maximum lateness means finding a schedule that provides minimum maximum lateness. • Why is it important to minimize maximum lateness? – It’s a balanced approach. The production department likes to minimize costs which are related to minimizing makespan and total completion time. However, the marketing department likes to provide faster service and set earlier due dates. Minimizing maximum lateness provides a balance. 90 Maximum Lateness – By minimizing maximum lateness one gets some insight if the due dates are realistic (if the due dates can be met using the given resources). • If the minimum maximum lateness is positive, the due dates are not realistic. So, the marketing department should promise longer lead times and the production department should be allocated more resources. • If the minimum maximum lateness is negative, the marketing department can promise shorter lead times and carry out some promotional activities to generate more demand. 91 Maximum Lateness • Sequence the jobs in the Earliest Due Date (EDD) order if there is a single machine and the objective is to minimize – maximum lateness – maximum tardiness • Revisit Example 1, Lesson 2, Slides 5-8. There are two jobs. Job 1 is a due after 4 hours and Job 2 is due after 2 hours. 92 Maximum Lateness • Since Job 2 is due before Job 1, the EDD rule requires that Job 2 is done before Job 1. This is done by Schedule 2. • So, Schedule 2 is an EDD schedule and it has a maximum lateness of zero (both job is completed right when it’s due). • Schedule 1 is a non-EDD schedule and it has a maximum lateness of 2 hours (Job 1 has a lateness of 2 hours and Job 1 has a lateness of –1 hour I.e., Job 1 is early by 1 hour). • Thus, the EDD schedule, Schedule 2 minimizes maximum lateness. 93 Number of Tardy Jobs • Different schedule provides different number of tardy jobs (jobs with a positive lateness). Minimizing number of tardy jobs means finding a schedule that meets as many due dates as possible. • Why is it important to minimize number of tardy jobs? – Sometimes, a product is useless if it’s completed after its due date. For example, convocation gowns, wedding dresses and birthday cakes must be delivered before their due dates. Space shuttles must leave on-time, else the mission will not be successful. 94 Number of Tardy Jobs Steps 1. Arrange the jobs in the Earliest Due Date (EDD) order. 2. Repeat the following as long as there is any tardy job: If the i th job is the first tardy job, consider the first i jobs and remove the one with the largest processing time. 3. Append all the tardy jobs, if any, in the end in any order. 95 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 96 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 Arrange the jobs in the EDD order and find if any is tardy Step 1 97 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 Eliminate the longest job before the first one tardy and arrange the others in the EDD order. Step 2-1 98 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 Eliminate the longest job before the first one tardy and arrange the others in the EDD order. Step 2-2 99 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 Eliminate the longest job before the first one tardy and arrange the others in the EDD order. Step 2-3 100 Number of Tardy Jobs: Example Job A B C D E Processing Completion Time Time 7 8 4 6 6 Due Date 9 17 18 19 21 Eliminate the longest job before the first one tardy and arrange the others in the EDD order. Step 2-4 101 Number of Tardy Jobs: Example Job Processing Completion Time Time Due Date Append the previously eliminated A, B in the end and stop. Step 3 102 Number of Tardy Jobs: A Note • Note: The optimal schedule may change if all the processing times increase by the same amount. • Preprocessing: if every job requires some setup/delivery time, add the set setup/delivery time to all jobs before applying the algorithm. • Such preprocessing is not necessary for scheduling jobs if the objective is to minimizing makespan, mean flow time, maximum lateness, etc. 103 Forward and Backward Scheduling • The procedure discussed for minimizing the number of tardy jobs assigns jobs to position 1 first, then to position 2, and so on. In a forward scheduling procedure the assignment starts from position 1 and continues in the forward direction • The procedure which will be discussed next, schedules in the opposite direction starting from the last position. In a backward scheduling procedure the assignment starts from the last position and continues in the backward direction. 104 Lawler’s Algorithm for Precedence Constraints • The algorithm is applicable for single machine problems with the objective of minimizing – Makespan – Maximum lateness – Maximum tardiness 105 Lawler’s Algorithm for Precedence Constraints • Consider a single machine problem with precedence constraints and minimizing maximum lateness objective (other objectives previously stated may be minimized similarly) 106 Lawler’s Algorithm for Precedence Constraints • General scheme: The algorithm first assigns a job to the last position, then a job to the position next to last, and so on. • Candidate job for a position: Due to precedence constraints, not all the jobs are candidates for a position. For example, if a job has a successor, the job cannot be assigned to the last position. Hence, candidates for the last position are the ones without any successor. 107 Lawler’s Algorithm for Precedence Constraints • Which job to assign? 1. Eliminate all the jobs which are previously assigned (to later positions) 2. Identify the candidates - jobs that have no successor or have successors all previously assigned (to later positions) 3. Among all the candidates, schedule the one with the minimum lateness. 108 C B A D E Processing Due Job Time Date A B C D E 7 8 4 6 6 Candidate? Lateness If scheduled 9 17 18 19 21 Completion time if scheduled = 7+8+4+6+6=31 109 C A B Processing Due Job Time Date A B C D 7 8 4 6 D Candidate? Lateness If scheduled 9 17 18 19 Completion time if scheduled = 7+8+4+6=25 E 110 A B Processing Due Job Time Date A B 7 8 9 17 D 6 19 Completion time if scheduled = 7+8+6=21 D Candidate? Lateness If scheduled C E 111 A B Processing Due Job Time Date A B 7 8 Candidate? Lateness If scheduled 9 17 Completion time if scheduled = 7+8=15 D C E 112 A Processing Due Job Time Date A 7 9 Completion time if scheduled =7 Candidate? Yes Lateness If scheduled 7-9=-2 B D C E 113 Lawler’s Algorithm for Precedence Constraints • The algorithm is described in the context of minimizing maximum lateness. To get the algorithm for minimizing – maximum tardiness, replace “lateness” by “tardiness” 114 READING AND EXERCISES Lesson 15 Reading: – Section 8.6, pp. 425-431 (4th Ed.), pp. 414-419 (5th Ed.) Exercises: – 8.6, 8.7, p. 431 (4th Ed.), pp. 419-420 (5th Ed.) 115 LESSON 16: MULTIPLE MACHINE SCHEDULING Outline • Planning and Monitoring with Gantt Chart • Two-Machine Flow Shop • Extension To A Three-Machine Flow Shop Planning and Monitoring with Gantt Chart • Planning and Monitoring with Gantt chart – Gantt chart is introduced in Lesson 1 in Slides 11-14. – Recall that the facilities are shown on the y-axis, time on the x-axis and operations by rectangles proportional to the processing time. – Gantt chart is an excellent tool used not only to represent a planned schedule but also to monitor the schedules. For example, see the next slide. For each job, the black color represents completed part and the white color incomplete. Suppose that today is day 7. The chart shows that Job A12 is completed less than scheduled, Job B23 more and Job C34 just as scheduled. 117 Planning and Monitoring with Gantt Chart Behind schedule Completed Activity Milling machine Job A12 Grinding machine Ahead of schedule Job B23 Scheduled Activity On schedule Job C34 Turning machine 2 4 6 Today's date 8 10 12 14 Days Gantt Chart shows both scheduled and completed activities against a time scale Two Machine Flow Shop • Flow shop is introduced in Lesson 1, in Slides 18-19. • Recall that a flow shop is suitable for a make-to-stock or assemble-to-stock production system where standard products are produced in high volume. • Here, we discuss the special cases of two-and threemachine systems. Enter M1 M2 Exit A Conceptual View of A Two-Machine Flow Shop 119 Two Machine Flow Shop • The main characteristic of a two-machine flow shop system is that every job first visits Machine 1 and then Machine 2. • Examples: – Customizing and painting – Machining and polishing – Moulding and baking – Repair and testing – Typing and proofing (of chapters of a book) – Review and data entry (of claims) – Checkups by a nurse and a doctor (of patients) 120 Two Machine Flow Shop • We continue to assume that – every machine can process one job at a time. – every job can be processed by one machine at a time and • So, in terms of a Gantt chart every job will appear twice: once on Machine 1 and again on Machine 2 – No two rectangles can overlap (every machine processes one job at a time) – If a vertical line is drawn, the line must not intersect two rectangles corresponding to the same job (every job can be processed by one machine at a time) 121 Two Machine Flow Shop – See the example on the next slide • If a vertical line is drawn through the rectangle representing Job B23 on the Lathe machine, the line must not intersect the rectangle representing Job B23 on the Grinding machine – Since, every job visits Machine 1 before Machine 2, a rectangle corresponding to a job on Machine 1 must be on the left side of the rectangle corresponding to that job on Machine 2 • The rectangle representing Job A12 on the Lathe machine is on the left side of that of Job A12 on the Grinding machine (same for Job 122 B23). Two Machine Flow Shop Lathe machine Job A12 Job B23 Job A12 Grinding machine 2 4 6 8 Job B23 10 12 14 16 Days 123 Two Machine Flow Shop • For most objectives listed in Lesson 2, the same order on both machines is optimal. So, if Machine 1 processes Job 1 before Job 2, then Machine 2 will also process Job 1 before Job 2. When the job-order is the same on all machines, the schedule is called a permutation schedule • See the Gantt chart on the previous slide: – Lathe machine processes Job A12 before Job B23. Grinding machine also processes Job A12 before Job B23. That’s a permutation schedule. – If Job A12 were started at time 16 on Grinding machine (instead of time 4), it would still be a flow 124 shop but not a permutation schedule. Two Machine Flow Shop • It’s better to keep track of starting, processing and finishing times of every job on every machine. Consider an example. • Example 1: Each of the two jobs A and B must be processed on Machine 1 before Machine 2. The processing times are shown below: Job Machine Center 1 A B 16 9 Machine Center 2 5 17 125 Two Machine Flow Shop • Schedule1: Suppose that each machine processes Job A before Job B. Then, the starting, processing, and finishing times are as follows: Machine 1 Machine 2 Job Start Process Finish Start Process Finish 16 5 A 17 9 B • Processing starts at time 0 (Job A on Machine 1). Finishing time = Starting time + Processing time. So, Job A finishes at time 0+16 = 16 on Machine 1. • Job A can start on Machine 2 only after time 16, when it’s completed on Machine 1. 126 Two Machine Flow Shop • Job B can start on Machine 1 only after time 16, when Machine 1 becomes idle. • The starting time of Job B on Machine 2 is the maximum of finishing times of Job A on Machine 2 (Machine 2 becomes idle) and Job B on Machine 1 (Job becomes free). • So, Starting time of Job B on Machine 2 = max (finishing time of Job A on Machine 2, finishing time of Job B on Machine 1) = max (21, 25) = 25. • Starting time of every job, except the first one, on Machine 2 is a maximum of two numbers. 127 Two Machine Flow Shop • The finishing time of the last job (Job B) on the last machine (Machine 2) is the makespan. So, here makespan = 42. • We shall discuss Johnson’s rule, which can minimize makespan (repetitive application of the rule yields a schedule with least makespan) • First, observe that a different sequence provides a different makespan. 128 Two Machine Flow Shop • Schedule 2: Suppose that each machine processes Job B before Job A. Machine 1 Machine 2 Job Start Process Finish Start Process Finish B 9 17 A 16 5 • The process starts at time 0 (Job B on Machine 1). • Starting time of Job A on Machine 2 = max (26, 25) = 26. • Makespan = Finishing time of Job A (the last job) on Machine 2 (the last machine) = 31 (improved!!!) 129 Two Machine Flow Shop • Johnson’s rule explains why makespan is improved by Schedule 2. Notice that the minimum processing time = 5 is given by Job A on Machine 2. • The main idea of Johnson’s rule: If the minimum processing time is on Machine 1 (or Machine 2), then schedule the job with the minimum time in the beginning (or end). Apply the rule repeatedly until all jobs are scheduled. Break ties arbitrarily. • Here, the minimum processing time = min (9, 17, 16, 5) = 5 is given by Job A on Machine 2. So, Job A is scheduled in the end. The details of Johnson’s rule and an example will now follow. 130 Two-Machine Flow Shop Johnson’s Rule 1. List time required to process each job at each machine. Set up a one-dimensional matrix to represent desired sequence with # of slots equal to # of jobs. 2. Select smallest processing time at either machine. – If that time is on machine 1, put the job as near to beginning of sequence as possible. – If smallest time occurs on machine 2, put the job as near to the end of the sequence as possible. 3. Remove the job from the list. 4. Repeat steps 2-3 until all slots in matrix are filled & all jobs are sequenced. 131 Two-Machine Flow Shop Johnson’s Rule Example Job Machine Center 1 A B C D E 5 16 8 9 4 Machine Center 2 6 5 2 17 6 The minimum processing time, 2, is given by Job C on Machine 2. So, Schedule Job C in the end. Two-Machine Flow Shop Johnson’s Rule Example Job Machine Center 1 Machine Center 2 A B 5 16 6 5 D E 9 4 17 6 C After removing job C, the minimum processing time, 4, is given by Job E on Machine 1. So, Schedule Job E in the 133 beginning. Two-Machine Flow Shop Johnson’s Rule Example Job Machine Center 1 A B 5 16 6 5 D 9 17 E Machine Center 2 C Job E is removed. Now, there is a tie. Minimum processing time is given by Jobs A and B. Break ties arbitrarily. 134 Schedule one of Job A or Job B. Two-Machine Flow Shop Johnson’s Rule Example Job Machine Center 1 B 16 5 D 9 17 E A Machine Center 2 C Job A is chosen arbitrarily. Job A is scheduled in the beginning, because its minimum time is given on Machine 1. Beginning means position 2 because position 1 is taken.135 Two-Machine Flow Shop Johnson’s Rule Example Job Machine Center 1 D 9 E A Machine Center 2 17 B C Next, Job B is scheduled. It’s scheduled in the end, because its minimum processing time is given on Machine 2. 136 Two-Machine Flow Shop Johnson’s Rule Example Machine Center 1 Job E A D Machine Center 2 B C The sequencing is complete after assigning the remaining Job D to the remaining position. Next, the makespan is 137 computed. Two-Machine Flow Shop Johnson’s Rule Example Machine Center 1 Job Machine Center 2 E A D B C E A D B C Each triplet above shows the starting, processing, and finishing times of an operation. Johnson’s rule guarantees that the above 138 schedule gives the best value (44) of makespan. Two-Machine Flow Shop Johnson’s Rule Example M1 M2 6 12 18 24 30 36 42 48 Time The Gantt chart corresponding to the optimal sequence, E-A-D-B-C obtained using the Johnson’s rule 139 Extension of Johnson’s Rule To A Three Machine Flow Shop • An extension of Johnson’s rule minimizes makespan in some three machine flow shops (repetitive application of the rule yields a schedule with least makespan) • First, recall that in a three machine flow shop, every job is processed first on Machine 1, then on Machine 2 and then on Machine 3. Enter M1 M2 M3 A Conceptual View of A Three-Machine Flow Shop Exit Extension of Johnson’s Rule To A Three Machine Flow Shop • The extension of Johnson’s rule does not guarantee an optimal makespan for all three-machine flow shop cases. However, the extension guarantees an optimal makespan • if the largest processing time on the second machine is not larger than the smallest processing times on 1. Machine 1 or 2. Machine 3 or 3. Both • In Case 1 Machine 1 dominates Machine 2, • In Case 2 Machine 3 dominates Machine 2 and 141 2 • In Case 3 both Machines 1 and 3 dominate Machine Extension of Johnson’s Rule To A Three Machine Flow Shop • Some examples when the rule applies are given in the next slide: • Example (a): The largest processing time on Machine 2 = max (5, 3, 4, 2, 3) = 5 5 = min (6, 9, 5, 8, 7) = smallest processing time on Machine 1. So, Machine 1 dominates Machine 2 and the extension of Johnson’s rule applies. • Example (b): The largest processing time on Machine 2 = max (6, 3, 2, 4, 5) = 6 6 = min (7, 8, 6, 9, 8) = smallest processing time on Machine 3. So, Machine 3 dominates Machine 2 and the extension of Johnson’s 142 rule applies. Extension of Johnson’s Rule To A Three Machine Flow Shop Machine Job 1 2 3 1 6 5 7 2 9 3 3 3 5 4 8 4 8 2 4 5 7 3 5 (a) Machine Job 1 2 3 1 6 6 7 2 9 3 8 3 4 2 6 4 5 4 9 5 3 5 8 (b) Machine Job 1 2 3 1 9 5 6 2 5 3 5 3 7 4 8 4 6 2 7 5 7 3 5 (c) Johnson’s rule applies in each of the above cases 143 Extension of Johnson’s Rule To A Three Machine Flow Shop • Example (c): The extension of Johnson’s rule applies because both Machine 1 and 3 dominate Machine 2 (check). • Whenever the rule applies, the following is done: • Step 1: Create a fictitious two-machine flow shop problem with two fictitious machines M1’ and M2’. Every job is assigned processing times on these two fictitious machines in the following way: • M1’: Processing time of a job on fictitious machine M1’ is the sum of the processing times of that job on the original machines M1 and M2. 144 Extension of Johnson’s Rule To A Three Machine Flow Shop • M2’: Processing time of a job on fictitious machine M2’ is the sum of the processing times of that job on the original machines M2 and M3. • Step 2: Apply Johnson’s rule on the fictitious two-machine problem with machines M1’ and M2’. • Step 3: Sequence the jobs on the original three machines using the optimal sequence obtained from Step 2. 145 Extension of Johnson’s Rule To A Three Machine Flow Shop Machine Job 1 2 3 1 6 5 7 2 9 3 3 3 5 4 8 4 8 2 4 5 7 3 5 Three-Machine Problem Machine Job 1 2 1 2 3 4 5 Fictitious Two-Machine Problem An optimal (not unique) sequence is Next, compute makespan using the original 3 machines. 146 Extension of Johnson’s Rule To A Three Machine Flow Shop Job Machine Center 1 Machine Center 2 Machine Center 3 Each triplet above shows the starting, processing, and finishing times of an operation. Johnson’s rule guarantees that the above 147 schedule gives the best value (41) of makespan. Extension of Johnson’s Rule To A Three Machine Flow Shop • More on the previous slide: • Starting time of every job, except the first one, on Machine 2 is a maximum of two numbers. • Example: Starting time of Job 1 on Machine 2 = max (finishing time of Job 3 on Machine 2, finishing time of Job 1 on Machine 1) = max (9, 11) = 11. • Starting time of every job, except the first one, on Machine 3 is a maximum of two numbers. • Example: Starting time of Job 1 on Machine 3 = max (finishing time of Job 3 on Machine 3, finishing time of Job 1 on Machine 2) = max (17, 16) = 17. 148 Gantt Chart • Using the starting and finishing times of each operation, we can draw a Gantt chart. Recall that time is shown on the x-axis, facilities such as machines are shown on the y-axis and each operation is shown by a rectangle proportional to the processing time f the operation. • For example, since Job 3 starts on M1 at time 0 and finishes at time 5, the Gantt chart on the next slide contains a box labelled “3” from time 0 to time 5. • Similarly, since Job 3 starts on M2 at time 5 and finishes at time 9, the Gantt chart contains another box labelled “3” from time 5 to time 9. 149 Gantt Chart M1 M2 M3 6 12 18 24 30 36 42 Time The Gantt chart corresponding to the optimal sequence, obtained using the extension of Johnson’s rule. 150 Gantt Chart • Note that since a job cannot be processed on more than one machine at the same time, a vertical line (indicating a time) must not cut through more than one box corresponding to the same job. For example, there are three boxes corresponding to Job 3 one for M1, one for M2 and the other for M3. However, these 3 boxes represent 3 operations which are processed in 3 distinct time periods. As a result, the boxes do not share any vertical line • Similarly, since a machine cannot process more than on job at the same time, the boxes do not overlap. 151 READING AND EXERCISES Lesson 16 Reading: – Section 8.7, pp. 432-437 (4th Ed.), pp. 421-425 (5th Ed.) Exercise: – 8.13, 8.14, p. 441 (4th Ed.), p. 428 (5th Ed.) 152 LESSON 17: TWO-JOB JOB SHOP AND FLOW SHOP SCHEDULING Outline • • • • Two-Job Job Shop and Flow Shop Problem Steps of the Solution Procedure Interpretation Gantt Chart 153 Two-Job Job Shop and Flow shop Problem • So far, we have discussed scheduling problems with a limited number of machines. In this lesson, we discuss a solution procedure for a scheduling problem with an unlimited number of machines. • We assume that two jobs requires processing by some m machines. For each job, the sequence of machines is known. It’s not assumed that each job must visit the machines in the same order. So, the procedure is applicable to job shop. However, the procedure is same for the flow shop when each job must visit the machines in the same order. 154 Two-Job Job Shop and Flow shop Problem • The procedure is best described by an Example: • Example 1: A engineering faculty requires a refundable deposit from each student. To get the deposit back at the end of the term, every student must obtain a clearance from each lab used. Peter and Patricia needs clearance from Machine lab (A) and Computer lab (B). Peter wants to visit Machine lab first and Patricia Computer lab. After getting certificates, each will visit an administrative assistant (C) who will issue a “no claim” certificate. Then, each will visit the cashier (D) who will return the deposit. 155 Two-Job Job Shop and Flow shop Problem • Peter and Patricia estimate the following processing times Peter Activity A B C D Time 10 5 25 10 Patricia Activity Time B 5 A 5 C 20 D 5 156 Two-Job Job Shop and Flow shop Problem • We shall solve this problem using a graphical procedure, that has the following steps: • Step 1: Set up a cartesian coordiante system with Peter’s time on one axis and Patricia’s on the other. Each process A, B, C and D will be shown on the graph by a rectangle. • Step 2: Find Peter’s and Patricia’s start and end times for each activity • Step 3: Identify coordinates of corners of rectangles A, B, C and D. Each rectangle represents an activity. • Step 4: Draw rectangles A, B, C and D 157 Two-Job Job Shop and Flow shop Problem • Step 5: Using only three special types of line segments, and not crossing the rectangles, identify a path from (0,0) to the upper right corner (a, b), where a = total time on x-axis and b = total time on y-axis. • Step 6: Compute clock times along the path. The length of the path is the clock time at the upper right corner (a, b). • Step 7: Repeat Steps 4 and 5 for other paths • Step 8: Find out the shortest path, interpret the shortest path and list activities over time. • Step 9: Draw a Gantt chart. 158 Step 1: Set Up A Cartesian Coordinate System 30 20 10 10 20 30 40 50 159 Step 2: Find Peter’s and Patricia’s Start and End Times • The start and end times are computed below separately for Peter and Patricia. Each starts at time zero. Notice that the times are not clock times, but Peter’s and Patricia’s cumulative times. The clock times will be computed later. Peter’s Time Patricia’s Time Activity Start Process End Activity Start Process End A B B A C C D D 160 Note a = 50, b = 35 according to the notations on slide 6. Step 3: Identify Coordinates of Corners of Rectangles Representing Activities • For each activity, a rectangle will be drawn on the graph shown in Step 1. For each rectangle, the lower, left corner represents start of the activity and the upper right corner end of the activity. So, one corner is obtained from Peter and Patricia’s start time of that activity and another corner is obtained from Peter and Patricia’s end times of that activity. • For example, lower left corner of rectangle C is (15,10) because Peter starts activity C at time 15 and Patricia starts activity C at time 10. Upper left corner of rectangle C is (40,30) because Peter ends C at time 40 and Patricia ends C at time 30. 161 Step 3: Identify Coordinates of Corners of Rectangles Representing Activities • Using the same reasoning, we find the following coordinates of the corners of A, B, C and D. Rectangle A B C D Lower Left Corner Upper Right Corner 162 Step 4: Draw Rectangles Patricia's Time 30 20 10 10 20 30 40 Peter's Time 50 163 Step 5: Using only Three Special Types of Line Segments and Not Crossing the Rectangles Find A Path From (0,0) To (a,b) • Use only the following three types of line segments • Horizontal line: representing a time interval when only Peter is busy, Patricia is idle • Vertical line: representing a time interval when only Patricia is busy, Peter is idle • 45-degree line (same rise as run): representing a time interval when both Peter and Patricia are busy Horizontal Line Vertical Line 45-Degree Line 164 Step 5: Using only Three Special Types of Line Segments and Not Crossing the Rectangles Find A Path From (0,0) To (a,b) • a = total time on the x-axis = Peter’s total time = 50 • b = total time on the y-axis = Patricia’s total time = 35 • Find a path from (0,0) to (a,b) = (50,35) • Using horizontal, vertical and 45-degree lines and • Not crossing the rectangles 165 Step 5: Using only Three Special Types of Line Segments and Not Crossing the Rectangles Find A Path From (0,0) To (a,b) • Such a path is shown on the next slide. The path • starts from (0,0) in the 45-degree direction (it could also start horizontally or vertically; 45-degree lines are preferred as they keep the length shorter) • starts moving horizontally when blocked by rectangle A, changes to 45 degree at (10,5) • starts moving horizontally when blocked by rectangle C (could also start vertically at (10,5)), changes to 45 degree at (40,10) • Starts vertically when reaches a boundary at x=a=50 (the other boundary is (y=b=35) 166 Step 5: Using only Three Special Types of Line Segments and Not Crossing the Rectangles Find A Path From (0,0) To (a,b) D Patricia's Time 30 C 20 10 (a,b) A B (0,0) 10 20 30 40 Peter's Time 50 167 Step 6: Compute Clock Times Along the Path • The length of the path is the clock time at (a,b)=(50,35). • The clock time is set to 0 at (0,0). • Clock times are computed at other break points as follows: • For a 45-degree line, advance clock time by the line’s projection on the x-axis (or, equivalently, the projection on the y-axis). • For example, there is a 45-degree line between (0,0) and (5,5). Its projection on the horizontal axis is 5 units and the same is its projection on the vertical axis. 168 Step 6: Compute Clock Times Along the Path • The line represents that both Peter and Patricia are busy for 5 units of time. So, it moves 5 units horizontally and 5 units vertically. So, clock time advances by 5 units. • Thus, the clock time at (5,5) = clock time at (0,0)+5 =0+5 =5 169 Step 6: Compute Clock Times Along the Path • • For each horizontal or vertical line, advance clock time by the length of the line segment. For example, there is a horizontal line between (5,5) and (10,5). The length of the line is 5. So, the clock time at (10,5) = clock time at (5,5)+5 =5+5 = 10 The next few slides shows clock times at all break points till (a,b) = (50, 35). The length of the path is the clock time at (a,b). 170 Step 6: Compute Clock Times Along the Path D Patricia's Time 30 C 20 10 (a,b) A B (0,0) 10 20 30 40 50 Peter's Time Length of the vertical line = 5, clock time = 60 + 5 = 65 171 Step 7: Another Path 40 Patricia's Time 30 35 C 20 10 15 A 5 (0,0) 70 (a,b) D 10 B 10 20 30 40 Peter's Time Check the clock times and length of the path. 50 172 Step 8: Interpretation • • The shortest path is the one shown on Slide 25 as its length is 65, less than 70 which is the length of the other path shown on Slide 26. The interpretation of a line segment is done as follows: • Horizontal line segment: Only Peter is busy and Patricia idle. Peter’s activity is the one on the above or below the line segment. • Vertical line segment: Only Patricia is busy and Peter idle. Patricia’s activity is the one on the left or right of the line segment. 173 Step 8: Interpretation • • 45-degree line segment: Both are busy. • Peter’s activity is one on the above or below the line segment. • Patricia’s activity is the one on the left or right of the line segment. Using the above guidelines, the shortest path shown on Slide 25 is interpreted on the next slide. Observe that every line segment is interpreted separately. 174 Step 8: Interpretation Start Clock Time 0 5 10 15 40 50 60 End Clock Time 5 10 15 40 50 60 65 Line Segment Type Peter’s Patricia’s Activity Activity 175 Step 9: The Gantt Chart A B C D 10 20 30 40 Gantt Chart 50 60 176 READING AND EXERCISES Lesson 17 Reading: – Section 8.7, pp. 437-440 (4th Ed.), pp. 425-427 (5th Ed.) Exercise: – 8.15, 8.16, pp. 441-442 (4th Ed.), pp. 428-429 (5th Ed.) 177 LESSON 18: STOCHASTIC SCHEDULING Outline • • • • • • • A Review on Probability Distributions Stochastic Scheduling Static Analysis: Single Machine Static Analysis: Parallel Machines Static Analysis: Two-Machine Flow Shop Dynamic Analysis: Selection of Disciplines Dynamic Analysis: The c rule A Review on Probability Distributions • First, we shall review what is meant by a probability distribution. It’s easier to understand probability distributions when there is a finite number of events. For example, when a coin is tossed, there are only two possible events a head or a tail. When a coin is tossed twice, there can be following events – both heads (2H) – one head and one tail (1H1T) – the first one head and the second one tail or – the first one tail and the second one head – two tails (2T) A Review on Probability Distributions • A discrete probability distribution is a table, a formula, or a graph that lists all possible events and probabilities a discrete random variable can assume. • If a coin is tossed twice, the events and corresponding probabilities are as follows: Event Probability Two heads 1/4 First one head, second one tail 1/4 First one tail, second one head 1/4 Two tails 1/4 A Review on Probability Distributions • So, we get the following probability values: Event Probability 2H 1/4 = 0.25 1H1T 1/4+1/4=0.50 2T 1/4 = 0.25 • The above probability values are shown on a graph in the next slide. This graph is a discrete probability distribution. A Review on Probability Distributions Probability Distribution Probability 0.75 0.5 0.25 0 2H 1H1T Event 2T A Review on Probability Distributions • The probability distribution in case of a coin tossing example is discrete. The number of events is finite. Some random numbers such as the ones for processing times, arrival times, etc. assume an infinite number of values. The probability distributions of such random numbers are continuous. • A continuous probability distribution is similar to a discrete probability distribution. In the following, some differences are discussed. Coin tossing will be used as an example of a discrete distribution and processing time of a continuous distribution. A Review on Probability Distributions • While the number of heads in the coin tossing example may assume a finite number of values, a processing time may assume an infinite number of values. So, it’s not possible to list all the values that the processing time may assume. • While the number of heads in the coin tossing example may assume a particular value, the probability that a processing time will assume a particular value is zero. For example, there is almost zero probability that a job will be done in exactly 3 minutes, not a fraction of a second more or less than 3 minutes. However, probability that a processing time will lie in a given range may be non-zero. A Review on Probability Distributions • A graphical description of a probability distribution of processing time gives the probability values in terms of the area under the curve. Area = probability • For example, The probability that the processing time will lie between 2 and 8 minutes is the area under the curve from processing time = 2 to processing time = 8 (see the next slide). • The total area under the curve = 1.00 A Review on Probability Distributions f(t) Probability(2t8) = Shaded area 0 2 4 6 8 10 Processing Time, t 186 A Review on Probability Distributions • The processing times, arrival times, etc. are often assumed to follow either a normal distribution or an exponential distribution. • Normal Distribution: Consider the time required by Harvey’s to serve a customer. A customer visits Harvey’s during lunch hours. On each visit, he measures the length of the time between order placement and delivery. He observes that the time is more or less 3 minutes. Sometimes, it’s more than 3 minutes. Almost the same number of times it’s less than 3 minutes. Sometimes, it’s more than 4 minutes. Almost the same number of times it’s less than 2 minutes, and so on. A Review on Probability Distributions 0.4 0.3 f(z) Normal Distribution 0.2 0.1 0 -4 -2 0 z 2 4 188 A Review on Probability Distributions • Exponential Distribution: Consider the time required to get a taxi cab. A hotel manager calls a taxi cab for the guests. She measures the length of time between phone call and arrival of the taxi cab. She is impressed with the service. Most of the times it’s very quick, within a minute or two, because the cab is parked near the hotel. Often, it’s between two to four minutes, because the cab arrives from a distance. Occasionally, however, it takes 10, 20 or 30 minutes because of a high demand, traffic congestion, etc. The manager computes the average, which turns out to be 3 minutes. A Review on Probability Distributions 0.4 f(t) 0.3 0.2 Exponential distribution with mean = 3 0.1 0 0 5 10 Time, t 15 20 Stochastic Scheduling • Up to Lesson 6, we have assumed that all arrival times, processing times and due dates are known with certainty. However, often processing times may be unknown or uncertain. • In this lesson, we shall assume that the processing times follow some probability distributions which are known. The probability distributions may be obtained from historical data. We shall assume that the jobs are different from one another. So, the processing times are independent of one another. Stochastic Scheduling • The arrival times may also be uncertain. We discuss two cases with two different assumptions regarding arrival times: – Static Analysis: All jobs are available from the beginning. An example is the delivery problem for which orders are taken 24 hours on-line and delivered once in the morning. So, the orders are available before the delivery process starts. – Dynamic Analysis: Jobs arrive randomly over time, and sequencing decisions are made as the jobs arrive. An example is the customers arriving to a bank. Static Analysis: Single Machine • Assume that there is a single machine that must process some n jobs. The exact processing times of jobs are not known. Each job processing time is a random variable with a known distribution function. • Two objectives are easy to minimize with rules extended from deterministic scheduling – To minimize the expected mean flow time, apply the shortest expected processing time rule (As discussed in Lesson 4, Slides 4-7, the total completion time or mean flow time is minimized by the shortest processing time rule) 193 Static Analysis: Single Machine – To minimize the maximum probability that a job is late, apply the earliest expected due date rule (As discussed in Lesson 4, Slides 8-11, the maximum lateness is minimized by the earliest due date rule) 194 Static Analysis: Parallel Machines • Consider two identical parallel machines. The jobs Exit are assigned to the first available machine. As soon M1 M2 as a machine is free, a job is assigned to that machine. Machines The jobs must be Jobs sequenced. Enter • Assume that the processing times are exponentially distributed. 195 Static Analysis: Parallel Machines • Consider the problem of minimizing the expected makespan, the expected completion time of the last job processed. A counter-intuitive rule works. The expected makespan is minimized by processing the jobs with the Longest Expected Processing Time (LEPT) rule. • The deterministic scheduling problems often provide insight into the stochastic scheduling problems. For example, to understand why the LEPT rule may minimize the expected makespan, it may be helpful to review the deterministic version of the problem first. 196 Static Analysis: Parallel Machines Back To Deterministic Scheduling Example 1: Consider two identical machines and four jobs with the deterministic processing times: 4, 8, 2, 6 minutes for Jobs 1, 2, 3 and 4 respectively. Group the jobs on two machines in order to minimize makespan. What is makespan? What is the idle time of the machine that is stopped first? 197 Static Analysis: Parallel Machines Back To Deterministic Scheduling • If a different grouping is chosen • Check that Sum of processing times idle time Makespan 2 198 Static Analysis: Parallel Machines Back To Deterministic Scheduling • From the relationship between makespan and idle time, makepsan is minimized by minimizing the idle time of the first stopped machine (the other quantities on the right hand side of the equation (sum of processing times and the number 2) are constants over all schedules). • Example 2 demonstrates that it’s not always possible to find a grouping that provides the same work-load to every machine. So, often the best solution will have some non-zero idle time on the first stopped machine. 199 Static Analysis: Parallel Machines Back To Deterministic Scheduling Example 2: Consider two identical machines and four jobs with the deterministic processing times: 4, 8, 4, 6 minutes for Jobs 1, 2, 3 and 4 respectively. Group the jobs on two machines in order to minimize makespan. What is makepsan? What is the idle time of the machine that is stopped first? 200 Static Analysis: Parallel Machines • Minimizing expected makespan on two parallel machines is equivalent to (see last 4 slides) – minimizing expected idle time of the first stopped machine which is equivalent to • minimizing the expected processing time of the last job completed • The above arguments provide an intuitive reasoning why the expected makespan is minimized by the – Longest Expected Processing Time (LEPT) rule, which assigns the longest expected jobs in the beginning and the shortest expected jobs in the end. 201 Static Analysis: Parallel Machines Example 3: A computer center has two identical computers for batch processing. Job times are exponentially distributed with the following expected values (expressed in minutes): Job 1 2 3 4 5 6 7 8 Expected time 4 8 1 50 1 30 20 6 a. In what sequence should the jobs be processed in order to minimize the expected makespan? 202 Static Analysis: Parallel Machines b. Assume that computer A is occupied with a job that has exactly two minutes of processing time remaining and computer B is idle. If job times are deterministic, show the start and end times of each job on each computer using the sequence derived in Part a. The answer is shown next. At time 0, B is available. So, the longest job, Job 4 is assigned to B. At time 2, A is available. So, the next longest job, Job 6 is assigned to A. At time 32, A is available again. So, Job 7 is assigned to A. At time 50, B is available. So, Job 2 is 203 Static Analysis: Parallel Machines assigned to B. At time 52, A is available. So, Job 8 is assigned to A. At time 58, there is a tie, both A and B are available. Computer A is chosen arbitrarily. Job 1 is assigned to A and Job 3 to B. Notice that Job 5 could be assigned before Job 3. All ties are broken arbitrarily. Job 5 is assigned to B at time 59. The makespan is 62 minutes. Computer B is idle in the last two minutes. 204 Static Analysis: Parallel Machines Job Computer A Start End Job Computer B Start End The rows are arranged in the ascending order of start times. 205 Static Analysis: Parallel Machines A B 6 12 18 24 30 36 42 48 54 60 Time 206 66 Static Analysis: Two Machine Flow Shop • We are back to two-machine flow shop. However, this time we shall discuss the stochastic version. Recall from Lesson 5, Slides 18-26, that Johnson’s rule minimizes makespan for the deterministic two-machine flow shop problem. The stochastic version is solved by a different procedure which will be discussed in this lesson. Enter M1 M2 Exit A Conceptual View of A Two-Machine Flow Shop 207 Static Analysis: Two Machine Flow Shop • Suppose that the processing times are exponentially distributed. • Let – aj = the processing rate of job j on machine 1 – bj = the processing rate of job j on machine 2 • Expected makespan is minimized by processing the jobs in the descending (high to low) order of a j b j 208 Static Analysis: Two Machine Flow Shop • Notice that the rule is described in terms of rates which must be computed first from the given processing times. a j 1 / Aj bj 1/ B j • Where, – Aj = the processing time of job j on machine 1 – Bj = the processing time of job j on machine 2 209 Static Analysis: Two Machine Flow Shop Example 4: Joe has now been released from his government job. Based on his excellent performance, he was able to land a job as a production scheduler in a brand-new custom refinishing auto service shop located near the border. The sequence is customizing first, followed by repainting. The processing times are independent exponentially distributed random variables with the mean times as stated below. Find a schedule that minimizes expected makespan. Car Customizing Time (Hours) Painting (Hours) 1 4.0 2.0 2 2.5 1.0 3 3.5 1.5 210 Static Analysis: Two Machine Flow Shop First, computes the rates and their differences: Car Customizing Rate Painting Rate Differences (Number/Hour) (Number/Hour) j aj bj aj-bj 1 2 3 Sequence the jobs in the descending (high to low) order of the differences aj-bj i.e., to minimize the expected makespan. Be careful not to use Johnson’s rule! The processing times are exponentially distributed!! 211 Dynamic Analysis: Selection of Disciplines • Next, we consider the dynamic scheduling problem, We assume that the jobs arrive randomly over time and the job processing times are known as soon as the jobs arrive. • The objective is to determine a good sequencing rule. • When compared to FCFS, SPT rule can significantly reduce the size of the queue. • As the traffic intensity increases, the advantage of the SPT rule at reducing the mean flow time improves (but the variance of flow time increases). This is shown in the next figure (Text, 8-13, p. 451). 212 Dynamic Analysis: Selection of Disciplines • The next figure (Text, 8-13, p. 451): – Assumes an M/M/1 queue i.e., a single machine environment in which inter-arrival times and service times are exponentially distributed. – Assumes that job processing times are realized when a job joins the queue. – Shows traffic intensity, Arrival rate r Service rate on the horizontal axis 213 Dynamic Analysis: Selection of Disciplines • The next figure (Text, 8-13, p. 451): – Shows the relative flow time ESPT (Flow Time) EFCFS (Flow Time) on the vertical axis – Demonstrates that the SPT schedule improves the expected flow time (or, the expected number in the system) over the FCFS schedule and that the improvement and rate of improvement increase more when the traffic intensity increases. 214 Dynamic Analysis: Selection of Disciplines 215 Dynamic Analysis: Selection of Disciplines • However, the SPT variance is much worse than the FCFS variance when the traffic intensity is high, although the SPT variance is slightly better than the FCFS variance when the traffic intensity is low. • Hence, it may be concluded that SPT achieves efficiency in the expected flow time at the cost of variance. 216 Dynamic Analysis: The c Rule Suppose that • Jobs arrive randomly with exponential service rates. • Job j has a service rate j . The service rate j 1 / t j where, t j = processing time of job j. • A job-dependent return c j is available if job j is completed by some pre-specified due date t which is the same for all jobs. • The best scheduling policy that maximizes total earnings is to choose the job with the largest value of cj j 217 Dynamic Analysis: The c Rule Example 5: Suppose that there are two types jobs, Type I has a return of $0.25 per job and Type II $0.75 per job. Type I service rate is 60 jobs per hour Type II 10 jobs per hour. The service rates are exponentially distributed. All the jobs must be completed before the end of week. Which type of job will have priority? Within a given type of job, which one will have priority? 218 Dynamic Analysis: The c Rule • Example 5 is simple, because it considers only two types of jobs, the rule is applicable to any number of types of jobs. • If the returns are all the same, i.e., if all the jobs are equally important, then the rule is equivalent to the SPT rule. 219 READING AND EXERCISES Lesson 18 Reading: Section 8.8 pp. 442-446 (4th Ed.), pp. 429- 432 (5th Ed.) Section 8.9 (partial) pp. 450-452 (4th Ed.), pp. 436-438 (5th Ed.) Exercises: 8.18, 8.19 (done in the note), 8.21, p. 446 (4th Ed.), pp. 432-433 (5th Ed.) and 8.25a p. 453 (4th Ed.), p. 439 (5th Ed.) 220 LESSON 19: ASSEMBLY LINE BALANCING Outline • • • • • Assembly Line Assembly Line Balancing The Precedence Diagram Assignment of Work Elements to Workstations A Line Balancing Heuristic 221 Assembly Line • Moving assembly line was introduced by Ford automobiles in 1913 – The time required to produce an auto chassis was reduced from 12 hours and 28 minutes to 1 hour and 33 minutes – The result was • mass production and • A drastically reduced price which the common people could afford 222 Assembly Line • If the demand of a standard product is sufficiently high and stable over a long period of time (as it is in a make-to-stock or assemble-to-stock production system), it’s usually cost effective to rearrange resources in the order in which the resources are used. Such a layout is called a product layout. • Two types of product layouts are fabrication lines and assembly lines – The fabrication line builds components such as automobile tires, metal parts, etc. (make-to-stock production system). 223 Assembly Line – The assembly line puts the fabricated parts together (assemble-to-stock production system). • The range of products produced by assembly lines includes toys, autos appliances, electronic items, garden equipment, etc. • Assembly line activities ranges from hammering, wrenching, parts insertion, soldering, welding, painting, testing, packaging, etc. • Both workers and machines may be (some lines use both) employed in an assembly line. 224 Assembly Line • Both the fabrication line and assembly line are repetitive processes. • The job is split into many work elements. The work elements are so small that each element or a group of elements can be performed by one workstation (an workstation is an area along the line that requires at least one worker or one machine). • The line balancing problem is to equalize work at each workstation. So, the solution procedure attempts to evenly distribute the work elements to the workstations. 225 Assembly Line Balancing • Some definitions: – Throughput time: The overall time it takes to complete an individual product from start to finish is called the throughput time (a.k.a. product duration time) – Cycle time: The interval between two successive products produced at a workstation is called the cycle time (a.k.a. product interval time and takt time (takt is a Swedish word meaning cycle)) – Example 1: Suppose that a product requires a total of 50 minutes. The job is split into 25 workstations of 2 minutes each. The throughput time is The cycle time is 226 Assembly Line Balancing • The line balancing problem is difficult. The large number of work elements partly contributes to the difficulty. The problem gets more complicated because of the precedence constraints. – The precedence constraints are physical restrictions on the order in which the work elements must be done on the line. For example, welding must precede painting, testing must be done before packaging, etc. • The precedence diagram is a network with work elements represented by circles or nodes and the precedence relationships represented by arcs (lines with arrows showing directions) connecting the nodes. 227 Assembly Line Balancing • • The precedence diagram is demonstrated with an example later in this lesson. The Activity-on-Node (AON) method (work elements represented by nodes and precedences by arcs) is used throughout this lesson. In Chapter 9, Lessons 9-11, Activity-on-Arc (AOA) method is used. The assembly lines are often flexible. When the demand is high, the job is split into more workstations achieving a shorter cycle time (although the throughput time does not change). When the demand is low, a longer longer cycle time is maintained using fewer workstations. 228 Assembly Line Balancing • • The required cycle time and demand are related as follows: Production time per day Required cycle time Demand per day Example 2: Suppose that a single shift of 8 hours is used and the demand is 32 units per day, then Required cycle time • Note that in such a case, every work element must require less than 15 minutes and workload distributed to every workstation must be less than 15 minutes. 229 Assembly Line Balancing • • Once we know the total time required by all elements and the required cycle time, we may be tempted to compute the required number of workstations as Total time required by all elements Required cycle time However, the above ratio does not always provide the correct number of workstations. One reason is that the above ratio may not be an integer. To eliminate this problem we can round up the result (e.g., if the ratio is 2.1 convert it to 3). Still, it may not be correct. 230 Assembly Line Balancing • • Example 3: Suppose that work elements 1, 2 and 3 require 12, 10 and 8 minutes respectively and the required cycle time is 15 minutes. Total time required by all elements Required cycle time But, there is no way to distribute the elements to 2 workstations such that the workload to each workstation is less than 15 minutes. If a workstation is assigned – elements 1 and 2, the total time = 12+10 = 22>15. – elements 1 and 3, the total time = 12+8 = 20>15. – elements 2 and 3, the total time = 10+8 = 18>15. 231 Assembly Line Balancing • • In Example 3, three elements must be assigned to three separate workstations to keep the cycle time less than 15 minutes. The ratio, however, is important because when it’s rounded up, we get a minimum number of workstations. The theoretical minimum number of workstations Total time required by all elements Required cycle time • The notation 2.1 3 implies rounding up. For example, 232 Assembly Line Balancing • • So, in Example 3, the theoretical minimum number of workstations is 2. But, the actual required number of workstations is 3. The actual cycle time can be different from the required cycle time. The actual cycle time is the maximum workload assigned to a workstation. • Example 4: Suppose that the workloads assigned to three workstations are 12, 10 and 8 minutes. The actual cycle time = 233 Assembly Line Balancing • Recall from Lesson 2 that one of the scheduling goals is the efficient utilization of resources. An uneven distribution of workloads causes idle time in some workstations and results in an inefficient utilization of resources. Efficiency of an assembly line Total time required by all elements 100 Number of workstati ons Actual cycle time • Example 5: Efficiency = • Note: in case of an even distribution, efficiency=100% 234 (no idle time) Assembly Line Balancing • • The line balancing problem is difficult. Optimization procedure is not available. The problem is solved by heuristic procedures that do not guarantee optimality. The line balancing steps: Step 1: Split the job into work elements Step 2: Establish precedence relationships Step 3: Determine the required cycle time Step 4: Using a heuristic procedure, assign work elements to workstations so that – workload of no workstation is more than the required cycle time and – all precedence relationships are maintained.235 Assembly Line Balancing Step 5: Compare the heuristic solution to the theoretical minimum number of workstations and compute efficiency. – If the heuristic procedure provides number of workstations exactly equal to the theoretical minimum number of workstations, then the solution is optimal. – If the optimality of the solution cannot be so determined, and the efficiency of the solution is unsatisfactory, a different heuristic procedure may be applied. 236 The Precedence Diagram Example 6: Real Fruit Snack Strips are made from a mixture of dried fruit, food coloring, preservatives, and glucose. The mixture is pressed out into a thin sheet, imprinted with various shapes, rolled, and packaged. Draw a precedence diagram from the information given below: Work Element A B C D Time Immediate Description (Sec) Predecessor(s) Press out sheet of fruit 6 Cut into Strips 12 A Outline fun shapes 24 A Roll up and package 18 B,C 237 The Precedence Diagram 238 Assignment of Work Elements to Workstations Find a feasible line balancing solution if the required cycle time is 24 sec 12 B D 18 6 A C 24 Work station 1 Work station 2 Work station 3 239 Assignment of Work Elements to Workstations • If a solution violates a precedence constraint, the solution is infeasible. • For example, if A and D are assigned to one station and B and C to another, then precedence constraint is violated. So, the following solution is infeasible: – Station 1: {A,D}, Station 2: {B,C} • The following solution is feasible: – Station 1: {A,C}, Station 2: {B,D} • Check: If the required cycle time is 30 sec, the theoretical minimum number of workstations is 2 and the solution {A,C}, {B,D} is optimum. 240 A Line Balancing Heuristic Positional Weight Method • Step 1 – For each work element, determine the positional weight = the time required to perform the work element and all its successors • Step 2 – Rank the work elements in order of decreasing positional weights • Step 3 – Assign the work elements sequentially to workstations in the order of the ranking 241 A Line Balancing Heuristic Positional Weight Method Example 7: Professional Image Briefcases is an exclusive producer of handcrafted, stylish cases. Priding itself on its earlier reputation, the company assembles each case with care and attention to detail. This laborious process requires the completion of six primary work elements listed next. 242 A Line Balancing Heuristic Positional Weight Method Work Element A B C D E F Time Immediate Description (min) Predecessor(s) Tan leather 30 Dye leather 15 A Shape case 5 B Mold hinges and fixtures 15 Install hinges and fixtures 10 C,D Assemble case 10 E If the demand is 60 cases per 40-hour week, compute the required cycle time. How would you balance the the assembly line? 243 A Line Balancing Heuristic Positional Weight Method First, compute the required cycle time. Required cycle time Production time per week Demand per week Next, apply the heuristic. 244 A Line Balancing Heuristic Positional Weight Method Step 1: The positional weights are shown on the next slide. Sample computation follow: • Positional weight of D = Sum of times of D and its successors E and F = 15+10+10 = 35 • Positional weight of B = Sum of times of B and its successors C, E, and F (not D) = 15+5+10+10 = 40 Step 2: A has the highest weight. So. Its rank is 1. Next, B has a rank of 2. D has more weight than C. So, rank of D is 3 and that of C is 4, etc. 245 A Line Balancing Heuristic Positional Weight Method Work Element B 15 10 A 5 C E 15 D 10 F 30 Positional Weight Rank A B C D E F 246 A Line Balancing Heuristic Positional Weight Method • Step 3 is to assign work elements to workstations. For this step, both the ranks and precedence diagram shown on the last slide are useful. • The assignment starts from the lowest rank. First A is assigned to a workstation, then B, then D, then C, etc. • The first assignment is made to workstation 1. So, A is assigned to workstation 1. • For each of the other work elements, first an attempt is made to assign the element to workstation 1. If the total workload exceeds the required cycle time, or a precedence constraint is violated, next attempt is to assign the element to workstation 2, and so on. 247 A Line Balancing Heuristic Positional Weight Method Rank 1: Work element A (30) Rank 2: Work element B (15) 248 A Line Balancing Heuristic Positional Weight Method Rank 3: Work element D (15) Rank 4: Work element C (5) 249 A Line Balancing Heuristic Positional Weight Method Rank 5: Work element E (10) Rank 6: Work element F (10) 250 A Line Balancing Heuristic Positional Weight Method Final Solution: • Station 1: • Station 2: • Station 3: • Actual cycle time = 251 READING AND EXERCISES Lesson 19 Reading: – Section 8.10 pp. 453-458 (4th Ed.), pp. 439-443 (5th Ed.) Exercises: – 8.27, 8.29 p. 458-460 (4th Ed.), pp. 443-446 252