Télécharger la présentation
## SCHEDULING

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

**Production Planning and Control**SCHEDULING 3 BMFP 4513 Haeryip Sihombing Universiti Teknikal Malaysia Melaka (UTeM)**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**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-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.**Introduction-Objectives of Job Shop Scheduling**• Objectives of operations scheduling • Meet 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 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;**Fig 8-3 A Process Composed of Two Operations in Series**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. • 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**• 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 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.**Introduction-Job Shop**A job shop is organized by machines which are grouped according to their functions.**Introduction-Job Shop**Job A Job B • 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**M1 M2 Job A M1 M2 Job B M3 M4 Job B M3 M4 Job Shop Scheduling Terminology • 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. • M1, 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**Job Shop Scheduling Terminology**• 2 Flow 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 Mean Flow Time=(F1+F2+F3)/3 Machines M1 Job 1 Job 2 Job 3 M2 Job 1 Job 2 Job 3 F1: FT of Job 1 Time F2: FT of Job 2 F3: FT of Job 3**Machines**M1 Job 1 Job 2 Job 3 M2 Job 1 Job 2 Job 3 F1: FT of Job 1 Time F2: FT of Job 2 F3: FT of Job 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. Make-span of the 3 jobs**Tardiness**of Job i Completion time of Job i Due date of Job i Completion time of Job i Due date of Job i 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 Lateness>0---Tardiness Lateness<0---Earliness When the completion of Job is earlier than due date, the tardiness is 0**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;**Current time**Remaining time of Job i Due date of Job i Processing time of Job i 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; CRi=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**Mean Flow time=268/5=53.6**Average tardiness=121/5=24.2 No. of tardy jobs=3. Sequencing Rules——FCFS 1 11 61 0 2 40 45 0 3 71 31 40 4 72 33 39 5 74 32 42 Totals 268 121**Mean Flow time=135/5=27.0**Average tardiness=43/5=8.6 No. of tardy jobs=1. Sequencing Rules——SPT 4 1 1 33 0 5 2 3 32 0 1 11 14 61 0 2 29 43 45 0 3 31 74 31 43 Totals 135 43**Mean Flow time=235/5=47.0**Average tardiness=33/5=6.6 No. of tardy jobs=4. Sequencing Rules——EDD 3 31 31 31 0 5 2 33 32 1 4 1 34 33 1 2 29 63 45 18 1 11 74 61 13 Totals 235 33**Sequencing Rules——CR**Current time should be reset after scheduling one job**Mean Flow time=289/5=57.8**Average tardiness=87/5=17.4 No. of tardy jobs=4. Sequencing Rules——CR 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**• 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!**t1**t2 t3 t4 W4=t1+t2+t3 F4=W4+t4 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: • 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; • Fi=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]**Maximum Tardiness**• Mean Flow Time Sequencing Theory for A Single Machines • Suppose that 4 jobs J1, J2, J3, J4 need to be scheduled • For example a schedule is J3-J2-J1-J4 • Considered 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 [1], [2], , [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, [1]=3, [2]=2, [3]=1, and [4]=4;**Suppose a schedule is [1], [2], [k], [k+1], [n],**the flow time of the job that is scheduled in position k is given by, say job in position 3: t[1] (t2) t[2] (t1) t[3] (t4) t[4] (t3) F[2]=t[1]+t[2]=t2+t1 Sequencing Theory for A Single Machines 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**Clearly, it is minimized by setting**Sequencing Theory for A Single Machines 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[1] ; k=2:t[1]+ t[2]; …; k=n:t[1]+ t[2 +…t[n] • By summing down the column rather than across the row, we may rewrite F’ in the form • nt[1]+(n-1)t[2]+…+t[n] SPT sequencing rule: the job with shortest processing time t is set first**Sequencing Theory for A Single Machines**• 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. • 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[1] d[2]… 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[1] d[2],…, 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 [1], [2], …, [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.**Longest processing time**Sequencing Theory for A Single Machine Example 8.3 Solution**Longest processing time**Sequencing Theory for A Single Machine Example 8.3 :Solution (Cont.) 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.**Objective Function**Sequencing Theory for A Single Machines Precedence constraints: Lawler’s Algorithm Minimizing maximum lateness Minimizing maximum tardiness giis any non-decreasing function of the flow time Fi 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 e.g.: the job among V that has smallest tardiness, if arranged on position [n]. The processing time of the current sequence**Sequencing 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.**Sequencing Theory for A Single Machines**Example 8.4**Not predecessor**Not predecessor Sequencing Theory for A Single Machines Example 8.4 Step1: find the job scheduled last(sixth) τ=2+3+4+3+2+1=15 Step2: find the job scheduled fifth τ=15-2=13**Not predecessor**Not predecessor Sequencing Theory for A Single Machines Example 8.4 Step3: find the job scheduled fourth Because job3 is no longer on the list, Job 2 now because a candidate. τ =13-4=9 Step4: find the job scheduled third Because job6 has been scheduled, Job 4 now because a candidate along with Job 2. τ=9-1=8**Not predecessor**Maximum tardiness Sequencing Theory for A Single Machines Example 8.4 Step5: find the job scheduled second The optimal sequence: 1-2-4-6-3-5**Sequencing 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.**Sequencing Theory for Multiple Machines**• 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**• Scheduling n Jobs on Two Machines • Theorem 8.2The 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 • Ai=Processing time of job i on machine A • Bi=Processing time of job i on machine B • Rule: Job i precedes job i+1 if min(Ai, Bi-1)<min(Ai+1,Bi) • List the values of Aiand 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.**Sequencing Theory for Multiple Machines**Example 8.5 Optimal sequence : 2 4 3 5 1**Sequencing Theory for Multiple Machines**• Extension to Three Machines • The three-machine problem can be reduced to a two-machine problem if • the following condition is satisfied • min Aimax Bi or min CimaxBi 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 Ai’=Ai+Bi, Bi’=Bi+Ci • Solve 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.**Sequencing 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.**Sequencing Theory for Multiple Machines**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**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+6=16 or 10+(3+2)=15**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 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.**Assembly Line Balancing**• Assembly line balancing is traditionally thought of as a facilities design and layout problem. • There are a variety of factors that contribute to the difficulty of the problem. • Precedence constrains: some tasks may have to be completed in a particular sequence. • Zoning restriction: Some tasks cannot be performed at the same workstation. • Let t1, t2, …, tn be the time required to complete the respective tasks. • The total work content (time) associated with the production of an item, say T, is given by