Presentation on theme: "Operations Scheduling"— Presentation transcript:
1Operations Scheduling Production Planning & ControlOperations Scheduling
2Operations Scheduling ContentsIntroductionJob Shop Scheduling TerminologySequencing RulesSequencing Theory for a Single MachineSequencing Theory for Multiple MachinesAssembly Line BalancingAdvanced Topics for Operations scheduling
3Introduction-What is Operations Scheduling ? Forecast of future demandAggregate planMaster production schedule (MPS)Schedule of production quantities by product and time periodMaterial Requirement Planning (MRP)Generate production orders and purchase orderOperations SchedulingTo meet quantities and time requirements for MRPImplement 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.
4Introduction-Objectives of Job Shop Scheduling Objectives of operations schedulingMeet due date;Minimize WIP inventory;Minimize the average flow time through the systems;Provide for high machine/worker (time) utilization (minimize idle time);Reduce setup cost;Minimize production and worker costsDiscussion1) 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;
5Introduction-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.As an example, if there is no buffer for WIP between 1 and 2, what happens?Fig 8-3 A Process Composed of Two Operations in Series
6Introduction-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, involvingReviewing 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.
7Introduction-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 dynamicStatic: jobs arrive in batch;Dynamic: jobs arrive over time interval according to some statistical distribution.Numbers and variety of machines in the shop floorIf 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.
8Introduction-Elements of the Shop Floor Scheduling Problems (Continued)Ratio of workers to machinesMachine 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 shopFlow 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.
9Introduction-Elements of the Shop Floor Scheduling Problems (Continued)Job sequencingSequencing 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 criteriaTo 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).
10Introduction-Elements of the Job Shop Scheduling Problems 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.An assembly line is a classic example of flow shopEvery 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.
11Introduction-Job Shop A job shop is organized by machines which are grouped according to their functions.
12Introduction-Job Shop Job AJob BNot 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;
13Job Shop Scheduling Terminology Parallel processing versus sequential processingSequencing 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.M1M2M3M4Job AJob BM1M2M3M4Job AJob BM1, M2, M3, and M4 are different;Job A has 2 operations which should be processed on different Machines: M1and M2;Job B has 3 operations which should be processed on different Machines: M3, M2 and M4;M1, M2, M3, and M4 are identical;Jobs A and B can be processed on any one of the 4 machines
14Job Shop Scheduling Terminology 2 Flow timeThe 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 jobsMean Flow Time=(F1+F2+F3)/3MachinesM1Job 1Job 2Job 3M2Job 1Job 2Job 3F1: FT of Job 1TimeF2: FT of Job 2F3: FT of Job 3
15Job Shop Scheduling Terminology 3. Make-spanThe 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 2Job 3MachinesM1M2TimeF1: FT of Job 1F2: FT of Job 2F3: FT of Job 3Make-span of the 3 jobs
16Job Shop Scheduling Terminology 4. Tardiness and latenessTardiness 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 earlinessTardinessof Job iDue dateCompletiontime of Job iLateness>0---TardinessDue dateof Job iCompletiontime of Job iLateness<0---EarlinessWhen the completion of Job is earlier than due date, the tardiness is 0
17Sequencing RulesFCFS (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 bankSPT (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;
18Processing time of Job i Sequencing RulesCR (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 iDue date of Job iCurrent timeRemaining time of Job iCRi=Remaining time of Job i/Processing time of Job i=(Due date of Job i-current time)/Processing time of Job iCR 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).
19Example 5.1 Sequencing Rules 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 jobsJob numberProcessing TimeDue Date1234511293161453332
20Sequencing Rules——FCFS Mean Flow time=268/5=53.6Average tardiness=121/5=24.2No. of tardy jobs=3.Sequencing Rules——FCFSJob numberProcessing TimeDue Date1234511293161453332JobCompletion TimeDue DateTardinessTotals
21Sequencing Rules——SPT Mean Flow time=135/5=27.0Average tardiness=43/5=8.6No. of tardy jobs=1.Sequencing Rules——SPTJob numberProcessing TimeDue Date1234511293161453332JobProcessing TimeCompletion TimeDue DateTardinessTotals
22Sequencing Rules——EDD Mean Flow time=235/5=47.0Average tardiness=33/5=6.6No. of tardy jobs=4.Sequencing Rules——EDDJob numberProcessing TimeDue Date1234511293161453332JobProcessing TimeCompletion TimeDue DateTardinessTotals
23Sequencing Rules——CRCurrent time: t=0Job numberProcessing TimeDue DateCritical Ratio123451129316145333261/11(5.545)45/29(1.552)31/31(1.000)33/1 (33.00)32/2 (16.00)Current time should be reset after scheduling one jobCurrent time: t=31Job numberProcessing TimeDue Date-Current TimeCritical Ratio12451129301430/11(2.727)14/29(0.483)2/1 (2.000)1/2 (0.500)
24Mean Flow time=289/5=57.8Average tardiness=87/5=17.4No. of tardy jobs=4.Sequencing Rules——CRCurrent time=60Job numberProcessing TimeDue Date-Current TimeCritical Ratio145112-27-281/11(0.0909)-27/1<0-28/2<0Both Jobs 4 and 5 are later, however Job 4 has shorter processing time and thus is scheduled first; Finally, job 1 is scheduled last.Job numberProcessing TimeCompletion TimeTardiness3245131291160616374152813Totals28987
25Sequencing Rules——Summary Mean Flow TimeAverage TardinessNumber ofTardy JobsFCFSSPTEDDCR53.627.047.057.82220.127.116.117.4314DiscussionsSPT 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!
26Sequencing Theory for A Single Machines Assuming that n jobs are to be processed through one machine. For each job i, define the following quantities:ti=Processing time for job i, constant for job i;di=Due date for job i, constant for job i;Wi=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, Wi is the sum of the processing times for all of the preceding jobs;t1t2t3t4W4=t1+t2+t3F4=W4+t4Fi=Flow time for job i, the waiting time plus the processing time: Fi= Wi+ ti;Li=Lateness of job i , Li= Fi- di, either positive or negative;Ti=Tardiness of job i, the positive part of Li, Ti=max[Li,0] ;Ei=Earliness of job i, the negative part of Li, Ei =max[- Li,0]
27Sequencing Theory for A Single Machines Maximum TardinessMean Flow TimeSuppose that 4 jobs J1, J2, J3, J4 need to be scheduledFor example a schedule is J3-J2-J1-J4Considered as a permutation of integers 1, 2, 3, 4: 3, 2, 1, 4.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.A permutation of integers 1, 2, , n is expressed by , , , [n], which represents a schedule;[i] denotes the integer that put in the ith place in the permutation;In case of a schedule 3, 2, 1, 4, =3, =2, =1, and =4;
28Sequencing Theory for A Single Machines Shortest-Processing-Time SchedulingTheorem 8.1 The scheduling rule that minimizes the mean flow time F’ is SPT.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=t2+t1t (t2)t (t1)t (t4)t (t3)The mean flow time of all jobs on the schedule is given by
29Sequencing Theory for A Single Machines Shortest-Processing-Time SchedulingTheorem 8.1 The scheduling rule that minimizes the mean flow time F’ is SPTThe mean flow time is given byThe double summation term may be written in a different form. Expanding the double summation, we obtaink=1:t ;k=2:t+ t;…;k=n:t+ t[2 +…t[n]By summing down the column rather than across the row, we may rewrite F’ in the formnt+(n-1)t+…+t[n]Clearly, it is minimized by settingSPT sequencing rule: the job with shortest processing time t is set first
30Sequencing Theory for A Single Machines Shortest-Processing-Time Scheduling (Cont.)Corollary 8.1 The following measures are equivalent:Mean flow timeMean waiting timeMean latenessSPT minimizes mean flow time, mean waiting time, and mean lateness for single machine sequencing.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].
31Sequencing 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.
32Sequencing Theory for A Single Machine Example 8.3Job123456Due date159232030Processing time108SolutionLongest processing timeJob231546Due date915202330Processing time108Completion time717273541
33Sequencing Theory for A Single Machine Example 8.3 :Solution (Cont.)Longest processing timeJob23546Due date9202330Processing time108Completion time7172531Job2346Due date92330Processing time8Completion time71521The 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.
34Sequencing Theory for A Single Machines Precedence constraints: Lawler’s AlgorithmMinimizing maximum latenessObjective FunctionMinimizing maximum tardinessgi is any non-decreasing function of the flow time FiThe AlgorithmFirst 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 satisfiese.g.: the job among V that has smallest tardiness, if arranged on position [n].The processing time of the current sequence
35Sequencing Theory for A Single Machines 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 tk 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.
36Sequencing Theory for A Single Machines Example 8.4Job123456Processing timeDue date9711
37Sequencing Theory for A Single Machines Example 8.4Not predecessorStep1: find the job scheduled last(sixth)Job123456Processing timeDue date9711356Tardiness15-9=615-11=415-7=8τ = =15Step2: find the job scheduled fifthNot predecessorJob12346Processing timeDue date9736Tardiness13-9=413-7=6τ =15-2=13
38Sequencing Theory for A Single Machines Example 8.4Not predecessorStep3: find the job scheduled fourthJob1246Processing time3Due date7Because job3 is no longer on the list, Job 2 now because a candidate.26Tardiness9-6=39-7=2τ =13-4=9Step4: find the job scheduled thirdNot predecessorJob124Processing time3Due date67Because job6 has been scheduled, Job 4 now because a candidate along with Job 2.24Tardiness8-6=28-7=1τ =9-1=8
39Sequencing Theory for A Single Machines Example 8.4Not predecessorStep5: find the job scheduled secondJob12Processing time3Due date6The optimal sequence:JobProcessing timeFlow timeDue dateTardiness124635891315711Maximum tardiness
40Sequencing Theory for Multiple Machines 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.
41Sequencing Theory for Multiple Machines Gantt chartSuppose that two jobs, I and J, are to be scheduled on two machines, 1 and 2, the processing times areMachine 1Machine 2Job I41Job JAssume that both jobs must be processed first on machine 1 and then on machine 2. There are four possible schedules.
42Sequencing Theory for Multiple Machines ScheduleTotal flow timeMean flow timeMean idle time19(5+9)/2=7(4+4)/2=4265.53108549.5
43Sequencing Theory for Multiple Machines Scheduling n Jobs on Two MachinesTheorem 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 BThe jobs must be processed first on machine A and then on machine B.DefineAi=Processing time of job i on machine ABi=Processing time of job i on machine BRule: Job i precedes job i+1 if min(Ai, Bi-1)<min(Ai+1,Bi)List the values of Ai and Bi in two columns.Find the smallest remaining element in the two columns. If it appears in column A, then schedule that job next. If it appears in column B, then schedule that job last.Cross off the jobs as they are scheduled. Stop when all jobs have been scheduled.
44Sequencing Theory for Multiple Machines JobMachine AMachine B15263974810Example 8.5Optimal sequence :
45Sequencing Theory for Multiple Machines Extension to Three MachinesThe three-machine problem can be reduced to a two-machine problem ifthe following condition is satisfiedmin Aimax Bi or min Cimax BiIt 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 problemDefine Ai’=Ai+Bi, Bi’=Bi+CiSolve the problem using the rules described above for two-machines, treating Ai’ and Bi’ 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.
46Sequencing Theory for Multiple Machines 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.
47Sequencing Theory for Multiple Machines Example 8.7A 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 areJob 1Job2OperationTimeSanding (A)3A2Lacquering (B)4B5Polishing( C )C
48Minimizing 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+6=16or 10+(3+2)=15
49Assembly 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 ti.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.
50Assembly Line Balancing Assembly line balancing is traditionally thought of as a facilities design and layout problem.There are a variety of factors that contribute to the difficulty of the problem.Precedence constrains: some tasks may have to be completed in a particular sequence.Zoning restriction: Some tasks cannot be performed at the same workstation.Let t1, t2, …, tn be the time required to complete the respective tasks.The total work content (time) associated with the production of an item, say T, is given by
51Assembly 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.
52Assembly Line Balancing Example 8.11The 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.
53Assembly Line Balancing ti=70, and the production rate is a unit /15 minutes;The minimum number of workstations = [70/15]=5PreconditionThe job times and precedence relationships for this problem are summarized in the table below.TaskImmediate PredecessorsTime1_122634573, 489109, 6118, 10
54Assembly Line Balancing The solution precedence requires determining the positional weight of each task. The positional weight of task i is defined as the time required to perform task i plus the times required to perform all tasks having task i as a predecessor.t3+t7+t8+t11+t12=31TaskPositional Weight17025833142752062972581891017111312The ranking1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 12
56Assembly Line Balancing Profile 1 C=15Station123456Tasks2,3,45,6,97,810,1112Processing time1415107Idle time8The ranking1, 2, 3, 6, 4, 7, 5, 8, 9, 10, 11, 1215Cycle Time=15T1=12T2=6T2=6T3=6T4=2T5=2Evaluate the balancing results by the efficiency ti/NC;The efficiencies for Profiles 1 is 77.7%.T5=2T6=12T9=1T7=7T8=5T10=4T10=4T11=6T12=7T12=7
57Assembly Line Balancing Alternative 1: Change cycle time to ensure 5 station balanceProfile 2: Increasing cycle time from 15 to 16Station12345Tasks2,3,4,56,97,8,1011,12Idle timeIncreasing the cycle time from 15 to 16, the total idle timehas 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;
58Assembly Line Balancing Alternative 2: Staying with 6 stations, see if a six-station balance could be obtained by cycle time less that 15 minutesThe efficiencies for profile 1~ 3 are 77.7%, 87.5%, and 89.7%. Thus the profile 3 is the best one.Profile 2 C=13Station123456Tasks2,34,5,7,98,1011,12Idle time13 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;