Production Scheduling Useful tools to assist in production scheduling Assignment problem (which job to which work center?) Sequencing rules (which job to process next?) Next Best rule (minimize setup costs) Sequencing through two successive work centers (minimize the completion time for the last job through the process) Assignment problem Objective is to minimize total process time Number of jobs to be loaded = number of work centers or machines Each machine is assigned one and only one job Linear programming problem – Objective function (maximize or minimize) subject to constraint conditions – Manual solution procedure – Excel Solver Example of assignment problem The metalworking work center of a job shop has been assigned the task of processing four orders. Four machines in the work center are all capable of processing any of the orders. The foreman must decide which job to allocate to each machine. machine 1 machine 2 machine 3 machine 4 job 1 13 min 16 21 14 job 2 17 13 19 14 job 3 12 16 20 16 job 4 20 12 17 11 Manual solution procedure to assignment problem (1) Column reduction: Subtract the lowest cost in each column from every cost element in that column. Do this for every column. This new matrix of opportunity costs is now used in the next step. (2) Row reduction: Subtract the lowest cost in each row from every cost element in that row. Do this for every row. This new matrix of opportunity costs is now used in the next step. Manual solution procedure to assignment problem (cont.) (3) Cover the zeroes: Cover all the zero elements in the matrix with horizontal and/or vertical lines. Find the minimum number of lines necessary to cover all zeroes. If the number of lines required is equal to the number of machines available, an optimal solution has been reached. The optimal assignments are found by examining the zero elements in the matrix. If the number of lines is fewer than the number of machines, proceed to step (4). Manual solution procedure to assignment problem (cont.) (4) Create new zeroes: Begin with the matrix from step (3). Find the smallest uncovered cost element (not covered by a line) and subtract it from all uncovered cost elements, including itself; add it to all cost elements at the line intersections. All other cost elements remain unchanged. Now erase all horizontal and vertical lines and return to step (3). Excel solution to assignment problem Load Excel Solver (click on “File” tab and go to “Options,” choose “Add-ins” from the left menu, select “Solver Add-in” and then click the “go” button, check “Solver Add-in” in the checkbox) Solver is now available under the “Data” tab Define changing cells Calculate total cost (or profit) Set up resource usage Set up Solver Parameters (Target Cell, Max/Min, Changing Cells, Constraints, and Options) For metalworking center example Another assignment problem example Merchants Bank has four new tellers (A-D) with varying skills who are to be assigned to the main bank or one of the branches (locations 1-4). The criterion for assigning tellers to locations is minimized customer waiting time. An index of customer waiting time is shown in the table below for each of the four locations and varying teller skills. Make teller assignments such that the overall waiting time will be minimized. What is the total waiting time for the optimal assignment? teller A teller B teller C teller D location 1 40 min 60 50 30 location 2 60 30 60 50 location 3 60 30 40 60 location 4 50 60 30 60 Other applications of linear programming Transportation problem Objective function subject to resource constraints Reports (Answer, Sensitivity, or Limits) can be generated by clicking on any of the choices in the window Sequencing Which job to process next? Methodology to follow – Shortest processing time: select the job having the least processing time – Earliest due date: select the job that is due the soonest – First-come, first served: select the job that has been waiting the longest for this workstation – First-in-system, first-served: select the job that has been in the shop the longest – Slack per remaining operations: select the job with the smallest ratio of slack to operations remaining to be performed Performance evaluation criteria Choice of sequencing methodology to choose is dependent on the performance evaluation criteria to be applied – – – – – – – – Total job completion time Avg job completion time Avg job waiting time Avg job lateness Avg number of jobs in the system Avg number of jobs waiting Set-up costs In-process inventory costs Sequencing example Five jobs waiting, one workstation/machine job (in order of arrival) job time (days) due date A 4 6 B 17 20 C 14 18 D 9 12 E 11 12 Sequencing example evaluation Using shortest processing time – – – – – – – – Sequence is A-D-E-C-B Construct timeline Total job completion time: 55 days Avg job completion time: (4+13+24+38+55)/5 = 26.8 days/job Avg job waiting time: (0+4+13+24+38)/5 = 15.8 days/job Avg job lateness: (0+1+12+20+35)/5 = 13.6 days/job Avg number of jobs in the system: (4x5+9x4+11x3+14x2+17x1)/55 = 2.44 jobs Avg number of jobs waiting: (4x4+9x3+11x2+14x1)/55 = 1.44 jobs Sequencing example evaluation (cont.) Using earliest due date: could be same sequence as shortest processing time, A-D-E-C-B Using first-come, first served – Total job completion time: 55 days – Avg job completion time: (4+21+35+44+55)/5 = 31.8 days/job – Avg job waiting time: (0+4+21+35+44)/5 = 20.8 days/job – Avg job lateness: (0+1+17+32+43)/5 = 18.6 days/job – Avg number of jobs in the system: (4x5+17x4+14x3+9x2+11x1)/55 = 2.89 jobs – Avg number of jobs waiting: (4x4+17x3+14x2+9x1)/55 = 1.89 jobs Comparison of SPT, EDD, and FCFS evaluation criteria SPT EDD FCFS total job completion time (days) 55 55 avg job completion time (days/job) 26.8 same as SPT avg job waiting time (days/job) 15.8 20.8 avg job lateness (days/job) 13.6 18.6 avg number of jobs in system (jobs) 2.44 2.89 avg number of jobs waiting (jobs) 1.44 1.89 31.8 “For jobs to be processed in one work center, it (shortest processing time rule) is consistently superior to other rules; it is optimal for minimizing avg. (job) completion time, avg. number of jobs in the system, and avg. job lateness.” (Adam and Ebert, page 493) Setup cost minimization Next Best approach – given that a job (job i) is being processed, select next the unassigned job (job j) for which the setup cost is minimized Next Best rule example Assuming A is being processed, the NB approach asks “What next?” Setup costs ($): Predecessor Job i Follower Job j A B C D E A - 29 20 18 24 B - - 14 19 15 C - 35 - 37 26 D - 15 10 - 10 E - 18 16 40 - The least costly sequence? Two sequences possible using NB approach: – A-D-C-E-B ($18+$10+$26+$18=$72) – A-D-E-C-B ($18+$10+$16+$35=$79) Enumeration of all 24 possible sequences yields an optimal solution of A-D-E-B-C with a cost of $18+$10+$18+$14=$60 NB approach is a heuristic – a rule or a set of rules that generally leads to the optimal solution, but does not guarantee the optimal solution Assuming the NB approach and say, SPT, sequences do not coincide then one must consider relative importance placed on costs of machine setup (NB) versus the value of gaining overall shop effectiveness and customer satisfaction (SPT) Sequencing through two work centers All jobs have to be processed through two successive work centers Jobs must be processed in the same order on both work centers The following is an optimal procedure to minimize the completion time for the last job through the process Sequencing through two work centers example Processing times (days): Job Work Center 1 (sheet metal) Work Center 2 (paint) A 4 5 B 17 7 C 14 12 D 9 2 E 11 6 Sequencing through two work centers procedure (1) Determine the minimum of all processing times (2) If the minimum is associated with work center 1, place the corresponding job in the earliest available position in the sequence (3) If the minimum is associated with work center 2, place the corresponding job in the latest remaining position in the sequence (4) Cross out the times of the job just assigned across all work centers to omit that job from further consideration (5) Now return to step (1) and repeat the procedure by identifying the minimum of all remaining process times A second example of sequencing through two work centers Data Systems, Inc., processes all incoming jobs through two successive work centers, A and B (each job goes first through A, then through B). Five jobs await processing (see below). Assign a job sequence that minimizes the completion time of the last job processed. What is the total flow time for this sequence? Job S T U V W Processing time in A (minutes) 14 3 22 31 7 Processing time in B (minutes) 8 9 4 17 12 Summary of sequencing methods “… an abundance of sequencing methods is available and they can affect shop performance in different ways. … in choosing among these methods, you should carefully evaluate them in terms of the criteria that are of greatest importance for your organization’s competitive posture.”