Production Planning & Control Operations Scheduling
Contents Introduction Job Shop Scheduling Terminology Sequencing Rules Sequencing Theory for a Single Machine Sequencing Theory for Multiple Machines Assembly Line Balancing Advanced Topics for Operations scheduling
Introduction-What is Operations Scheduling ? Implement the production orders generated in MRP under given objectives ; Allocate production resources (machine, workers et al.) to production orders (jobs or tasks and their due dates) in an optimized manners; The results are time allocations of production resources to different jobs (job sequences on each production resources); All the orders can be completed while all production resources are utilized with their loads being balanced. Forecast of future demand Aggregate plan Master production schedule (MPS) Schedule of production quantities by product and time period Material Requirement Planning (MRP) Generate production orders and purchase order Operations Scheduling To meet quantities and time requirements for MRP
Introduction-Objectives of Job Shop Scheduling Objectives of operations scheduling 1)Meet due date; 2)Minimize WIP inventory; 3)Minimize the average flow time through the systems; 4)Provide for high machine/worker (time) utilization (minimize idle time); 5)Reduce setup cost; 6)Minimize production and worker costs Discussion 1) and 3) aim at providing a high level of costumer service; 2), 4), 5) and 6) are to provide a high level of workshop efficiency; Impossible to optimize all above objectives simultaneously; Proper trade off between cost and quality is one of the most challenging strategic issues facing a firm today;
Introduction-Objectives of operations Scheduling Discussion (Cont.) Some of these objectives conflicts, e.g. Reduce WIP inventory Worker idle time may increase or machine utilization may decrease; Reasons: differences in the throughput rate from one part of the system to another may force the faster operations to wait. Fig 8-3 A Process Composed of Two Operations in Series As an example, if there is no buffer for WIP between 1 and 2, what happens?
Introduction-Functions of Scheduling and Control The following functions must be performed in scheduling and controlling a shop floor: Allocating orders, equipments, and personnel to work centers or other specified location-Short term capacity planning; Determining the sequence of orders (i. e. job priorities); Initializing performance of the scheduled work, commonly termed the dispatching of jobs; Shop-floor control, involving Reviewing the status and controlling the progress of orders as they are being worked on; Expediting the late and critical orders; Revising the schedules in light of changes in order status.
Introduction-Elements of the Shop Floor Scheduling Problems The classic approaches to shop floor scheduling focuses on the following six elements: Job arrival patterns: static or dynamic Static: jobs arrive in batch; Dynamic: jobs arrive over time interval according to some statistical distribution. Numbers and variety of machines in the shop floor If there is only one machine or if a group of machines can be treated as one machine, the scheduling problem is much more simplified; As number of variety of machines increase, the more complex the scheduling problems is likely to become.
Introduction-Elements of the Shop Floor Scheduling Problems (Continued) Ratio of workers to machines Machine limited system: more workers than machine or equal number workers and machines; Labor-limited system: more machines than worker. Flow pattern of jobs: flow shop or job shop Flow shop: all jobs follow the same paths from one machine to the next; Job shop: no similar pattern of movement of jobs from one machine to the next.
Introduction-Elements of the Shop Floor Scheduling Problems (Continued) Job sequencing Sequencing or priority sequencing: the process of determining which job is started first on some machines or work center by priority rule; Priority rule: the rule used for obtaining a job sequencing; Priority rule evaluation criteria To meet corresponding objectives of scheduling; Common standard measures: Meeting due date of customers or downstream operations; Minimizing flow time (the time a job spends in the shop flow); Minimizing WIP; Minimizing idle time of machines and workers (Maximizing utilization).
Introduction-Elements of the Job Shop Scheduling Problems An assembly line is a classic example of flow shop Every cars go through all the stations one by one in the same sequences; Same tasks are performed on each car in each station; Its operations scheduling is simplified as assembly line balancing; An assembly balancing problem is to determine the number of stations and to allocate tasks to each station. Flow shop: Each of the n jobs must be processed through the m machines in the same order. Each job is processed exactly once on each machine.
Introduction-Job Shop A job shop is organized by machines which are grouped according to their functions.
Introduction-Job Shop Not all jobs are assumed to require exactly the same number of operations, and some jobs may require multiple operations on a single machine (Reentrant system, Job B twice in work center 3 ). Each job may have a different required sequencing of operations. No all-purpose solution algorithms for solving general job shop problems ; Operations scheduling of shop floor usually means job shop scheduling; Job A Job B
Job Shop Scheduling Terminology 1.Parallel processing versus sequential processing Sequencing Processing: the m machines are distinguishable, and different operations are performed by different machines. Parallel processing: The machines are identical, and any job can be processed on any machine. M1M1 M2M2 M3M3 M4M4 Job A Job B M 1, M 2, M 3, and M 4 are different; Job A has 2 operations which should be processed on different Machines: M 1 and M 2 ; Job B has 3 operations which should be processed on different Machines: M 3, M 2 and M 4 ; M1M1 M2M2 M3M3 M4M4 Job A Job B M 1, M 2, M 3, and M 4 are identical; Jobs A and B can be processed on any one of the 4 machines
Job Shop Scheduling Terminology 2Flow time The flow time of job i is the time that elapses from the initiation of that job on the first machine to the completion of job i. The mean flow time, which is a common measure of system performance, is the arithmetic average of the flow times for all n jobs Job 1Job 2 Job 1 Job 3 Job 2Job 3 Machines M1M1 M2M2 Time F 1 : FT of Job 1 F 2 : FT of Job 2 F 3 : FT of Job 3 Mean Flow Time=(F 1 +F 2 +F 3 )/3
Job Shop Scheduling Terminology 3. Make-span The make-span is the time required to complete a group of jobs (all n jobs). Minimizing the make-span is a common objective in multiple-machine sequencing problems. Job 1Job 2 Job 1 Job 3 Job 2Job 3 Machines M1M1 M2M2 Time F 1 : FT of Job 1 F 2 : FT of Job 2 F 3 : FT of Job 3 Make-span of the 3 jobs
Job Shop Scheduling Terminology 4. Tardiness and lateness Tardiness is the positive difference between the completion time and the due date of a job. Lateness refers to the difference between the job completion time and its due date and differs from tardiness in that lateness can be either positive or negative. If lateness is positive, it is tardiness; when it is negative, it is earliness Due date of Job i Completion time of Job i Tardiness of Job i Due date of Job i Completion time of Job i When the completion of Job is earlier than due date, the tardiness is 0 Lateness>0--- Tardiness Lateness<0--- Earliness
Sequencing Rules FCFS (first come-first served) Jobs are processed in the sequence in which they entered the shop; The simplest and nature way of sequencing as in queuing of a bank SPT (shortest processing time) Jobs are sequenced in increasing order of their processing time; The job with shortest processing time is first, the one with the next shortest processing time is second, and so on; EDD (earliest due date) Jobs are sequenced in increasing order of their due dates; The job with earliest due date is first, the one with the next earliest due date is second, and so on;
Sequencing Rules CR (Critical ratio) Critical ratio is the remaining time until due date divided by processing time; Scheduling the job with the smallest CR next; Processing time of Job i Due date of Job i Current timeRemaining time of Job i CR i =Remaining time of Job i/Processing time of Job i =(Due date of Job i-current time)/Processing time of Job i CR provides the balance between SPT and EDD, such that the task with shorter remaining time and longer processing time takes higher priority; CR will become smaller as the current time approaches due date, and more priority will given to one with longer processing time; For a job, if the numerator of its CR is negative ( the job has been already later), it is naturally scheduled next; If more than one jobs are later, higher priority is given to one that has shorter processing time (SPT).
Sequencing Rules Example 5.1 A machine center in a job shop for a local fabrication company has five unprocessed jobs remaining at a particular point in time. The jobs are labeled 1, 2, 3, 4, and 5 in the order that they entered the shop. The respective processing times and due dates are given in the table below. Sequence the 5 jobs by above 4 rules and compare results based on mean flow time, average tardiness, and number of tardy jobs Job numberProcessing TimeDue Date 1234512345 11 29 31 1 2 61 45 31 33 32
Sequencing Rules CR Current time: t=0 Job numberProcessing TimeDue DateCritical Ratio 1234512345 11 29 31 1 2 61 45 31 33 32 61/11(5.545) 45/29(1.552) 31/31(1.000) 33/1 (33.00) 32/2 (16.00) Current time: t=31 Job numberProcessing TimeDue Date-Current TimeCritical Ratio 12451245 11 29 1 2 30 14 2 1 30/11(2.727) 14/29(0.483) 2/1 (2.000) 1/2 (0.500) Current time should be reset after scheduling one job
Sequencing Rules CR Current time=60 Job numberProcessing TimeDue Date- Current Time Critical Ratio 145145 11 1 2 1 -27 -28 1/11(0.0909) -27/1<0 -28/2<0 Job numberProcessing TimeCompletion TimeTardiness 3245132451 31 29 1 2 11 31 60 61 63 74 0 15 28 31 13 Totals28987 Mean Flow time=289/5=57.8 Average tardiness=87/5=17.4 No. of tardy jobs=4. Both Jobs 4 and 5 are later, however Job 4 has shorter processing time and thus is scheduled first; Finally, job 1 is scheduled last.
Sequencing Rules Summary RuleMean Flow TimeAverage Tardiness Number of Tardy Jobs FCFS SPT EDD CR 53.6 27.0 47.0 57.8 24.2 8.6 6.6 17.4 31443144 Discussions SPT results in smallest mean flow time; EDD yields the minimum maximum tardiness (42, 43, 18, and 31 for the 4 different rules); Always true? Yes!
Sequencing Theory for A Single Machines Assuming that n jobs are to be processed through one machine. For each job i, define the following quantities: t i =Processing time for job i, constant for job i; d i =Due date for job i, constant for job i ; W i =Waiting time for job i, the amount of time that the job must wait before its processing can begin. When all the jobs are processed continuously, W i is the sum of the processing times for all of the preceding jobs; t1t1 t2t2 t3t3 t4t4 W4=t1+t2+t3W4=t1+t2+t3 F i =Flow time for job i, the waiting time plus the processing time: F i = W i + t i ; L i =Lateness of job i, L i = F i - d i, either positive or negative; T i =Tardiness of job i, the positive part of L i, T i =max[L i,0] ; E i =Earliness of job i, the negative part of L i, E i =max[- L i,0] F4=W4+t4F4=W4+t4
Sequencing Theory for A Single Machines Maximum Tardiness Mean Flow Time For only a single machine, every schedule can be represented by a permutation (ordering) of the integers 1, 2, 3, …, n. There are totally n! (the factorial of n) different permutations. Suppose that 4 jobs J 1, J 2, J 3, J 4 need to be scheduled For example a schedule is J 3 -J 2 -J 1 -J 4 Considered as a permutation of integers 1, 2, 3, 4: 3, 2, 1, 4. A permutation of integers 1, 2,, n is expressed by , ,, [n], which represents a schedule; [i] denotes the integer that put in the i th place in the permutation; In case of a schedule 3, 2, 1, 4, =3, =2, =1, and =4;
Sequencing Theory for A Single Machines 1.Shortest-Processing-Time Scheduling Theorem 8.1 The scheduling rule that minimizes the mean flow time F is SPT. The mean flow time of all jobs on the schedule is given by Suppose a schedule is , , [k], [k+1], [n], the flow time of the job that is scheduled in position k is given by, say job in position 3: F  =t  +t  =t 2 +t 1 t  (t 2 )t  (t 1 )t  (t 4 )t  (t 3 )
Sequencing Theory for A Single Machines 1.Shortest-Processing-Time Scheduling Theorem 8.1 The scheduling rule that minimizes the mean flow time F is SPT The mean flow time is given by The double summation term may be written in a different form. Expanding the double summation, we obtain k=1:t  ; k=2:t  + t  ; …; k=n:t  + t [2 +…t [n] SPT sequencing rule: the job with shortest processing time t is set first By summing down the column rather than across the row, we may rewrite F in the form nt  +(n-1)t  +…+t [n] Clearly, it is minimized by setting
Sequencing Theory for A Single Machines 1.Shortest-Processing-Time Scheduling (Cont.) Corollary 8.1 The following measures are equivalent: Mean flow time Mean waiting time Mean lateness SPT minimizes mean flow time, mean waiting time, and mean lateness for single machine sequencing. 2.Earliest-Due-Date Scheduling: If the objective is to minimize the maximum lateness, then the jobs should be sequenced according to their due dates. That is, d  d  … d [n].
Sequencing Theory for A Single Machine 3. Minimizing the number of Tardy Jobs : An algorithm from Moore(1968) that minimizes the number of tardy jobs for the single machine problem. Step1. Sequence the jobs according to the earliest due date to obtain the initial solution. That is d  d ,…, d [n] ; Step2. Find the first tardy job in the current sequence, say job [i]. If none exists go to step 4. Step3. Consider jobs , , …, [i]. Reject the job with the largest processing time. Return to step2. (Why ?) Reason: It has the largest effect on the tardiness of the Job [i]. Step4. Form an optimal sequence by taking the current sequence and appending to it the rejected jobs. (Can be appended in any order?) Yes, because we only consider the number of tardiness jobs rather than tardiness.
Job123456 Due date1569232030 Processing time10348 6 Example 8.3 Solution Job231546 Due date6915202330 Processing time3410 86 Completion time 3717273541 Longest processing time Sequencing Theory for A Single Machine
Job23546 Due date69202330 Processing time341086 Completion time37172531 Example 8.3 :Solution (Cont.) Longest processing time Job2346 Due date692330 Processing time3486 Completion time371521 The optimal sequence: 2, 3, 4, 6, 5, 1 or 2, 3, 4, 6, 1, 5. In each case the number of tardy jobs is exactly 2. Sequencing Theory for A Single Machine
Sequencing Theory for A Single Machines Precedence constraints: Lawlers Algorithm g i is any non-decreasing function of the flow time F i Minimizing maximum lateness Minimizing maximum tardiness The Algorithm First schedules the job to be completed last, then the job to be completed next to last, and so on. At each stage one determines the set of jobs not required to precede any other. Call this set V. among the set V, choose the job k that satisfies The processing time of the current sequence Objective Function e.g.: the job among V that has smallest tardiness, if arranged on position [n].
The Algorithm (Cont.) Consider the remaining jobs and again determine the set of jobs that are not required to precede any other remaining job. The value of τ is then reduced by t k and the job scheduled next to last is now determined. The process is continued until all jobs are scheduled. Note: As jobs are scheduled, some of the precedence constraints may be relaxed, so the set V is likely to change at each iteration. Sequencing Theory for A Single Machines
Example 8.4 Job123456 Processing time234321 Due date3697117
Sequencing Theory for A Single Machines Example 8.4 Job123456 Processing time234321 Due date3697117 Step1: find the job scheduled last(sixth) Not predecessor τ =2+3+4+3+2+1=15 356 Tardiness15-9=615-11=415-7=8 Job12346 Processing time23431 Due date36977 Step2: find the job scheduled fifth τ =15-2=13 36 Tardines s 13-9=413-7=6 Not predecessor
Sequencing Theory for A Single Machines Example 8.4 Job1246 Processing time2331 Due date3677 Step3: find the job scheduled fourth Not predecessor τ =13-4=9 26 Tardiness9-6=39-7=2 Job124 Processing time233 Due date367 Step4: find the job scheduled third τ =9-1=8 24 Tardiness8-6=28-7=1 Not predecessor Because job3 is no longer on the list, Job 2 now because a candidate. Because job6 has been scheduled, Job 4 now because a candidate along with Job 2.
Sequencing Theory for A Single Machines Example 8.4 Job12 Processing time 23 Due date36 Step5: find the job scheduled second Not predecessor The optimal sequence: 1-2-4-6-3-5 JobProcessing time Flow time Due dateTardiness 124635124635 233142233142 2 5 8 9 13 15 3 6 7 9 11 001244001244 Maximum tardiness
Assume that n jobs are to be processed through m machines. The number of possible schedules is astonishing, even for moderate values of both n and m. For each machine, there is n! different ordering of the jobs; if the jobs may be processed on the machines in any order, there are totally (n!) m possible schedules. (n=5, m=5, 25 billion possible schedules) Even with the availability of inexpensive computing today, enumerating all feasible schedules for even moderate-sized problems is impossible or, at best, impractical. Sequencing Theory for Multiple Machines
Machine 1Machine 2 Job I41 Job J14 Gantt chart Suppose that two jobs, I and J, are to be scheduled on two machines, 1 and 2, the processing times are Assume that both jobs must be processed first on machine 1 and then on machine 2. There are four possible schedules. Sequencing Theory for Multiple Machines
ScheduleTotal flow timeMean flow timeMean idle time 19(5+9)/2=7(4+4)/2=4 265.51 31085 4 9.55 Sequencing Theory for Multiple Machines
1.Scheduling n Jobs on Two Machines Theorem 8.2 The optimal solution for scheduling n jobs on two machines is always a permutation schedule. A very efficient algorithm for solving the two-machine problem was discovered by Johnson(1954). Denote the machines by A and B The jobs must be processed first on machine A and then on machine B. Define A i =Processing time of job i on machine A B i =Processing time of job i on machine B Rule: Job i precedes job i+1 if min(A i, B i-1 )
"name": "1.Scheduling n Jobs on Two Machines Theorem 8.2 The optimal solution for scheduling n jobs on two machines is always a permutation schedule.",
"description": "A very efficient algorithm for solving the two-machine problem was discovered by Johnson(1954). Denote the machines by A and B The jobs must be processed first on machine A and then on machine B. Define A i =Processing time of job i on machine A B i =Processing time of job i on machine B Rule: Job i precedes job i+1 if min(A i, B i-1 )
Example 8.5 JobMachine AMachine B 152 216 397 438 5104 Optimal sequence : 2 4 3 5 1 Sequencing Theory for Multiple Machines
2.Extension to Three Machines The three-machine problem can be reduced to a two-machine problem if the following condition is satisfied min A i max B i or min C i max B i It is only necessary that either one of these conditions be satisfied. If that is the case, then the problem is reduced to a two-machine problem Define A i =A i +B i, B i =B i +C i Solve the problem using the rules described above for two-machines, treating A i and B i as the processing times. The resulting permutation schedule will be optimal for the three-machine problem. If the condition are not satisfied, this method will usually give reasonable, but possibly sub-optimal results.
Sequencing Theory for Multiple Machines 3.The Two-Job Flow Shop Problem: assume that two jobs are to be processed through m machines. Each job must be processed by the machines in a particular order, but the sequences for the two jobs need not be the same. Draw a Cartesian coordinate system with the processing times corresponding to the first job on the horizontal axis and the processing times corresponding to the second job on the vertical axis. Block out areas corresponding to each machine at the intersection of the intervals marked for that machine on the two axes. Determine a path from the origin to the end of the final block that does not intersect any of the blocks and that minimizes the vertical movement. Movement is allowed only in three directions: horizontal, vertical, and 45-degree diagonal. The path with minimum vertical distance corresponds to the optimal solution.
Example 8.7 A regional manufacturing firm produces a variety of household products. One is a wooden desk lamp. Prior to packing, the lamps must be sanded, lacquered, and polished. Each operation requires a different machine. There are currently shipments of two models awaiting processing. The times required for the three operations for each of the two shipments are Job 1Job2 OperationTimeOperationTime Sanding (A)3A2 Lacquering (B)4B5 Polishing( C )5C3 Sequencing Theory for Multiple Machines
Minimizing the flow time is the same as maximizing the time that both jobs are being processed. That is equivalent to finding the path from the origin to the end of block C that maximizes the diagonal movement and therefore minimizes either the horizontal or the vertical movement. or 10+(3+2)=15 or 10+6=16
Assembly Line Balancing The problem of balancing an assembly line is a classic industrial engineering problem. The problem is characterized by a set of n distinct tasks that must be completed on each item. The time required to complete task i is a known constant t i. The goal is to organize the tasks into groups, with each group of tasks being performed at a single workstation. In most cases, the amount of time allotted to each workstation is determined in advance, based on the desired rate of production of the assembly line.
Assembly Line Balancing Assembly line balancing is traditionally thought of as a facilities design and layout problem. There are a variety of factors that contribute to the difficulty of the problem. Precedence constrains: some tasks may have to be completed in a particular sequence. Zoning restriction: Some tasks cannot be performed at the same workstation. Let t 1, t 2, …, t n be the time required to complete the respective tasks. The total work content (time) associated with the production of an item, say T, is given by
Assembly Line Balancing For a cycle time of C, the minimum number of workstations possible is [T/C], where the brackets indicate that the value of T/C is to be rounded to the next larger integer. Ranked positional weight technique: Places a weight on each task based on the total time required by this task and all of the succeeding tasks; Tasks are assigned sequentially to stations based on these weights-the bigger the weight is, the higher the priority is.
Example 8.11 The Final assembly of Noname personal computers, a generic mail-order PC clone, requires a total of 12 tasks. The assembly is done at the Lubbock, Texas, plant using various components imported from the Far East. The network representation of this particular problem is given in the following figure. Assembly Line Balancing
TaskImmediate PredecessorsTime 1_12 216 326 422 522 62 73, 47 875 951 109, 64 118, 106 12117 Precondition The job times and precedence relationships for this problem are summarized in the table below. Assembly Line Balancing t i =70, and the production rate is a unit /15 minutes; The minimum number of workstations = [70/15]=5
TaskPositional Weight 170 258 331 427 520 629 725 818 9 1017 1113 127 The solution precedence requires determining the positional weight of each task. The positional weight of task i is defined as the time required to perform task i plus the times required to perform all tasks having task i as a predecessor. Assembly Line Balancing t 3 +t 7 +t 8 +t 11 +t 12 =31 The ranking 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12
T2=6 Profile 1 C=15 Assembly Line Balancing Station123456 Tasks12,3,45,6,97,810,1112 Processing time1214152107 Idle time310358 Cycle Time=15 T1=12 T2=6T3=6T4=2 T5=2T6=12T9=1 T5=2 T8=5T7=7T10=4 T11=6T12=7 15 Evaluate the balancing results by the efficiency t i /NC; The efficiencies for Profiles 1 is 77.7%. The ranking 1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12
Profile 2: Increasing cycle time from 15 to 16 Station12345 Tasks12,3,4,56,97,8,1011,12 Idle time40303 Increasing the cycle time from 15 to 16, the total idle time has been cut down from 20 min/units to 10; resulting in a substantial improvement in balancing rate. However, the production rate has to be reduced from one unit/15 minutes to one unit/16minute; Assembly Line Balancing Alternative 1: Change cycle time to ensure 5 station balance
Profile 2 C=13 Station123456 Tasks12,364,5,7,98,1011,12 Idle time111140 Assembly Line Balancing Alternative 2: Staying with 6 stations, see if a six-station balance could be obtained by cycle time less that 15 minutes 13 minutes appear to be the minimum cycle time with six station balance. Increasing the number of stations from 5 to 6 results in a great improvement in production rate; The efficiencies for profile 1~ 3 are 77.7%, 87.5%, and 89.7%. Thus the profile 3 is the best one.