While optimization typically has been reserved for bigger companies, with dedicated staff to create and run models using sophisticated software, there are some interesting alternatives to consider for most manufacturing companies. The most famous of optimization problems is the Traveling Salesman Problem (TSP): Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? Now, if you consider production scheduling optimization you might automatically recognize applying a TSP optimization to Job Shops where you might have a number of different orders, each requiring a different routing. And each routing might have variations as well, can run this product through a multi purpose CNC machine, or run it through individual machines? And, what kinds of people are available to run such equipment? The bottom line is, how should I run the shop to maximize my profits, or minimize my costs, subject to a variety of constraints -customers order due at definite times, workcenters have finite capacity, reduce overtime, per hour costs for various workcenters and labor, etc.?
For process operations, such as blending, the optimization result can minimize cost of components while meeting blending guidelines. Anyway you look at it, optimization up front before releasing a production plan, will result in the most efficient and profitable solution. What’s imperative is, once said optimal plan has been released, how to translate that to a detailed execution plan that will be responsive to day to day changes, and how to react, re-balance, re-optimize said plan while working it.
Now, given the amazing potential ROI for considering this step (optimization), and considering the tools are available in every copy of Excel (Solver), why aren’t more manufacturing concerns leveraging optimization? Well, the truth is, there is a lot of fancy, high level mathematics behind the process, and most folks in that domain space prefer to keep the techniques a bit of a black box. However, it might serve manufacturers well to investigate using Solver (and other open source solvers for Excel) in combination with a good production scheduling solution to achieve the highest level of profitability and efficiency possible.
Production Scheduling Optimization Techniques using Excel Solver
A robust approach to production scheduling incorporates downtime Issues and occurrences.
Production downtime can usually be attributed to one of three areas:
Unplanned Downtime — this is when something goes awry. Could be a mechanical breakage or stoppage of any kind or an electronic problem.
Planned Downtime – Production Related. For example, product changeover for molds, dies, etc.
Planned Downtime – Maintenance Related.
The question is, how should we accommodate these issues into a production scheduling system? There are several options depending on what level of detail provides the most benefit.
At one end, for unplanned downtime, should we track those occurrences and attribute a reason code for analysis on trying to improve? Should we be able to dynamically adjust the capacity during that time and possibly reschedule and re-balance the production schedule based on those events? Usually, there is a threshold at which the feedback, reporting, analysis, and so forth would deem it vital. At the other end, if unplanned downtime is a minor inconvenience, then it might be most efficient just to build in a little buffer for such repairs into initial capacity considerations and let it go.
Planned Downtime – Production Related
As far as planned downtime that is production related, we need to examine what is the most efficient method to minimize this. Can we group different jobs or production runs together somehow, automatically, to minimize change overs? Are there special skill sets for technicians, that perform these change overs, that need to be considered? For example, if there is only one senior tech who can change dies on 40 ton presses, we do NOT want a production scheduling approach that ends up needing multiple press change overs at the same time. This is a question of managing more than one constraint, both the press and the technician.
Planned Downtime – Maintenance Related
Finally, for the planned downtime that is maintenance related, we have more choices. Do we adjust available capacity for those machines to reflect planned maintenance, for example, every 4 weeks, at 8 AM, for 2 hours? Or, would it be smart to schedule the planned maintenance as mini jobs, giving them the highest priority, so they are factored into the production scheduling and print out on workcenter reports? This decision will be based on whether is already a formal maintenance system in place or not.
Production Scheduling Incorporating Downtime
Production Downtime Tracking Calculation and Report with Resource Manager-DB
Level loading refers to being able to load jobs, production, etc., on available resources equally. For example, suppose I have three employees that can all do welding. If I want to level load those employees, each job that comes in will be assigned to the employee that has the least amount of hours loaded. So, as jobs are assigned, the employees have, more or less, equal loading (hours to work). This is the same technique that all restaurants use to make sure each wait staff gets an equitable amount of customers (table and customer allocation). Here is an example of level loading production across 4 workcenters. The key assumption is that any welder can do any job, any wait person can handle any customer, etc.
Capacity Level Loading for 4 Workcenters
Finite Capacity Scheduling
Finite capacity scheduling systems check to see what available hours are set for each resource and the scheduling system will ONLY schedule up to that amount, then it needs to find another day (either forward or back in time depending on scheduling horizon) to keep loading remaining hours required.
Other, more advanced techniques include a combination of the two – level loading and finite capacity scheduling.
Production Scheduling Level Loading Example
The above figure is an example for loading across Jim, Mark, and Dennis. All are scheduled for 2 hours on 12-26.
Alternate Workcenters Production Scheduling
The above example illustrates some of these additional rules such as: variable setup and runtime per employee, trigger amounts when certain workcenters can be utilized, even sequential alternates for finishing a job on 2nd shift.
Combining Level Loading with Finite Capacity Scheduling
Level loading distributes the work evenly across resources (departments, workcenters, people, machines, groups, etc) resulting in a more balanced schedule. Without Level Loading some resources are over scheduled, causing needless production overtime, expedited shipping costs and missed promise dates. Other resources are underutilized yet are still a financial burden.
Level Loading for Best Practices Production Scheduling
Finite capacity extends the benefits. Not only is there level loading, but also there is no over scheduling of what is available per day. This produces the best schedule as the finish dates are all viable with minimal or no overtime. For example, if I have 10 hours per day available per worker, 3 workers and 5 jobs to finish, with each job will taking 10 hours, there is 50 total hours of work to do. Without level loading and finite capacity planning, it might get scheduled for one worker for 8 hours per day, taking 6+ days to complete all jobs, due to a host of factors. For example, the other workers might be assigned to stand by status for another job that is running late.