Production schedule for a automotive motor head manufacturing plant AnirudhJagannathan aj2560 Jorge Ortiz jeo2130 YaniraPichardo yp2323
Problem description • The plant we will be studying is Nemak’s Plant #4 in their Monterrey site, focusing on their core blowing operation. • A consultancy project took place back in 2010, with one of the deliverables being an Excel workbook with macros that automated the creation of each week’s production schedule. • The production schedule workbook delivered back then was done in such a way as to try and meet the production deadlines as much and as well as possible(ƩLmax) and try and make each machine finish around the same time, having the minimum amount of downtime as possible (ƩCmax).
Process diagram Sand Resin Aluminum Milling Core blowing Core assembly Motor head molding Cleaning De-burring Packaging for shipping Excess aluminum Motor head Destroyed cores
Project objective • We want to determine the following: • Was the production schedule proposed back in 2010 optimal or not (ƩCmax, ƩLmax) • How we could improve it. • How far from optimal was it. • Stretch goal • Figure out if the way the Excel macro was programmed (running time) was efficient or not, going into Big O notation.
Problem complexity • The plant has 21 core blower machines. • Production requirements for the following week arrive each Thursday morning and are detailed on a daily basis (daily due dates). • Plant managers can set priorities to each product that is in the production requirements for the week. (weights for each job) • Each core blower can blow certain types of cores for each product. • Each core blower can work with only a certain set of toolings. • Each product is made up of multiple cores and there are cores that form part of more than one type of product. • We have information regarding core blower machines and tooling availabilities for each week (sometimes either machines or tooling are undergoing preventive or corrective maintenance). • We have information regarding the current state of the inventory and in some cases, for some products, there is a “produce up to level”.
General macro logic INPUTS • Daily turntable requirements • Product prioritization • Machine availability • Tooling availability • Initial inventory (automatically pulled by the macro) • Build of materials for each product • Sort the products using the prioritization list. • Consult the product’s build of materials. • Consult the initial inventory. • Determine if the core being analyzed is in stock or it has to be produced. • If the product has to be produced, allocate an available tooling. • Allocate to the first available machine that is compatible with this tooling. • Go to the next core of that product until you finish its build of materials. • Go to the next product down the prioritization list until you finish with the whole requirements list, or you run out of available machine-hours in the day. PROCESS • Detailed production schedule • Summarized production schedule • Graphs OUTPUTS
Current scheduling • The way that the macro programs the schedule is by following a slight variation of the McNaughton’s wrap-around rule. • It’s a variation because the schedule length rule isn’t necessarily followed: • In the case that is larger than the available hours in the day, our schedule’s makespan is indeed the day’s available working hours, and the daily demand for that product will not be met.
Current scheduling • By using the wrap-around rule there’s risk that if a machine breakdown occurs (specially late during the day), you might be unable to fulfill your orders because you are missing one or more of the cores required to assemble a specific product. J 3 M3 J 2 J 3 M2 J 1 J 2 M1 t=0 t=D
Proposed scheduling • By using an alternative scheduling algorithm, where a job is assigned to each machine and once all machines have a job assigned to them you assign a second job and so on, you can reduce the aforementioned risk, reduce the makespan, and balance your operations (little or no idle time in machines). J 3 M3 J 2 M2 J 1 M1 t=0 t’=D’ t=D
Proposed scheduling algorithm • Order the products by priority. • For each product in the priority order, • Calculate , where n is the number of core parts to be produced and t is number of tools available for the core type. Ratio tells us how many parts each tool will work on (as parallel processing is allowed). • Sort the core types in decreasing order of (similar to LPT rule for P||Cmax) • For each core type, we allocate machines (until we run out of available machines or available tools) and schedule the blow operations. • Once all parts of a given core type are completed on a machine, identify next core operation in order of product + core priority and redo the previous step.