Ever wonder why, after picking what you thought was the shortest line, you’re the last to get through? Or, why traffic can come to an absolute stand-still on the freeway with no apparent reason? There are two mathematical principles at work here (and sad to say, influencing your Plant, Shop, Factory, Project Management and Production Scheduling Plans) that are to blame, random events and covariance.
Random events aren’t predictable but also occur in clusters. Think about it. By definition, you can’t predict a random event. “They” always say aircraft crashes happen in threes, or bad things happen together, but there is no other way. If we could predict an airplane crash we wouldn’t fly on that day. The more familiar reference to random events is known as ‘Murphys Law’ — anything that can go wrong, will go wrong.
If the event is not deterministic, or predictable, then it will not fall within a known interval of time. Therefore, some intervals between events will be longer, some shorter. The shorter intervals are referred to as ‘clusters’.
Random Events Occur in Clusters
The second, less familiar mathematical principal is a phenomenon called covariance. Typically considered a vary sophisticated mathematical concept with corresponding complex solutions, just having an awareness of it is enough to help you manage the impact.
If there is a possible delay, in a series of events, things tend towards the maximum delay. Now you know why your ‘short’ line is the longest. Teller changes, price checks, paper out, customer has no ID for check, ARGGH!
Now think of a long line of traffic humming along at 60 mph. The front car sees a deer running out of the woods and hits brakes to slow down to, say 55 mph.
Deer and covariance
The second car doesn’t see the deer but sees the brake lights of the car in front of him. The second car MUST slow down to 55 mph or he will rear end the front car. Mathematically, he has to slow down to 55 mph minus another ‘delta’. That delta could be 1 mph or 5 mph or 10 mph. It all depends on how quickly the 2nd driver reacts, but it WILL be below 55 mph. This pattern illustrates the covariance phenomenon. If the delta is 5 MPH, it only takes 12 cars to come to a complete stand still, long after deer has left.
Covariance Traffic Jams
Imagine mixing random events and covariance effects together, while trying to generate and follow a reasonable production schedule! Your best option is to identifying those variables that are known (working calendar, known resources, material lead times, known process times, process flow steps, etc.) and focus on managing those. Of course, it’s pretty straightforward to accomplish that for the initial schedule. What becomes nearly impossible is to quickly react to all the random and covariance related unexpected events that will wreak havoc on that initial schedule. After all, who wants to spend hours upon hours manually redoing a new schedule, only to have to do it over and over again as things don’t go according to plan? That is where an automated production scheduling system, that is geared toward reacting to any event, and with one button can re-balance the entire schedule, can become a strategic asset to any company.
In summary, random events and covariance are two mathematical principles that:
Wreak havoc on your project management or production scheduling plans
Are too complex to be managed manually
So, the solution is to manage the variables that are known and leverage an automated system that can accommodate the unexpected (random events) and negative effects of accumulated delays (covariance).
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.
At first hand, most schedulers are thinking they have to meet a due date, so therefore they are thinking that they need to Reverse Schedule from that due date. However, in reality, this is not how most operations actually work. Most operations will continue to keep everyone busy, they continually load the shop with orders as the orders come in with an eye on the original estimated due date that might have been promised to customer. Orders are worked in Routing order from first to last, in the example below, this is Workcenter 10, then 20, and finally 30.
Depending on order complexity along with Plant capacity and material constraints, this can result in one of three outcomes:
Order is completed before the promised due date
Order is completed on due date
Order is completed past the due date.
Here is an example of an order that takes 7+ days and finishes early (before Due Date).
Production Scheduling – Reverse Order
Reverse order is exactly that, you start with the Due Date as the date the last Workcenter must finish. Then, you back track in time to determine when the last workcenter must start. And so, the start date for workcenter 30 in our example becomes the end date for workcenter 20, then workcenter 20s’ cycle time is subtracted from end date to find start date, and so forth until you have calculated start date for JOB as well as work-in-process dates for intermediate steps.
Similar with Forward scheduling, we have 3 possible outcomes:
Order starts today and ends on due date (this is the only case where Forward and Reverse scheduling are exactly the same).
Order start is delayed. As depicted in diagram below.
Order should have started BEFORE today. Which, in most cases, is impossible.
Forward Production Scheduling vs Reverse – Making the Choice
In summary, there are a couple of easy decisions on what direction makes the most sense.
If it is imperative to always front load the shop, and you can live with orders being finished before promise date, you should always forward schedule.
If the time to complete an order is less that due date minus today, and if you do NOT want the burden (space, cost, etc.) of holding completed order until customer ready to receive, THEN you should reverse schedule and perhaps include some buffer time. Buffer time is simply adding some extra time, say a day or two, which allows you to accommodate other changes/exceptions to working schedule without having to fuss with the system.
If you have both make to stock and make to order production, you might consider forward scheduling make to order first, then fill in the remaining production capacity with make to stock in reverse order.
Now, for all your other cases, it is not a simple decision. Some of your customers are demanding you deliver by the date THEY need the products, without factoring in your standard or dynamic lead times. How can you accommodate them? As we see in example above, if you use Forward Production Scheduling, where you put in a start date then explode the Bill-Of-Material (BOM), checking material constraints, along with Routing, checking available capacity against current production scheduled, and the scheduling system generates a viable finish date — which MAY be beyond the customers due date. If you use Reverse Production Scheduling, you enter in a DUE DATE and the production scheduling system reverse explodes BOM and routing, generating the start date and all materials, and workcenters, but this may be a start date before today. Where does that leave you? How about considering both directions?
As mentioned above we can, reverse schedule, to remain Lean and order materials Just In Time (JIT) but establish a time-fence that will prevent the system from scheduling in the past.
Now I can see exactly what has to be done to make due dates:
I need to run overtime for Steve and Dave next Thursday and Friday
I need to borrow inventory from Production Order #MO234 that is on hold
I have to move scheduled maintenance on Machine #7 on Wed to Tues
Now, we can compare this with a forward schedule, from today, with a forced finish due date since this is how we work in order to keep everyone busy. Now, I get the same optimized production schedule with the same to-do list and everyone is busy. For this particular situation, I am fine with trading the chance of carrying inventory longer (from pulling production up) in exchange for optimizing my workforce.