For the last 40 years manufacturers have been looking to their ERP’s Finite Capacity Scheduling or bolt-on “Advanced Planning & Scheduling” (APS) tools to help them deliver their production orders (“jobs” or “Work-orders”) to their customers on time.
The everyday process to use these traditional scheduling tools comprises running a software program that looks at a myriad of settings and parameters and the software then attempts to sequence all the operations, across all the work orders, in such a way as to get all (or most) of the orders completed and shipped to the customer on-time.
Anyone in manufacturing who has actually attempted to live day-to-day with this traditional scheduling process will tell you it is no small task.
The challenge comes when trying to use these traditional scheduling tools to create a model of how your plant or shop floor will execute all your production orders – while reflecting the true limitations of the number and skill sets of machines, people, tooling and dependencies across the same. Creating that optimal schedule has shown itself to be extremely difficult.
Is Creating an Optimal Schedule Even Possible?
We delve into that aspect in more depth in our blog article “why is finding the optimal production schedule impossible?”, but the short answer to that question is that it’s impossible to create an optimal schedule (with the key word here being “schedule” – this is a key point).
If we assume that it’s impossible to create an optimal schedule, then what are today’s ERP systems and APS tools hoping to accomplish with their scheduling programs? Believe it or not, against all odds, these systems continue to chase the holy grail of the “optimal schedule”. They are doing so by applying “heuristics”. From Wikipedia, a heuristic is, “a technique designed for solving a problem more quickly when classic methods are too slow, or for finding an approximate solution when classic methods fail to find any exact solution.”
The heuristic adopted by most ERP software and bolt-on APS tools is based on a resource capacity loading algorithm that works like this:
- Begin by sorting all Jobs/Work orders by Due Date
- Then starting with the earliest due date first, take all the operations of each job and load the capacity of the shop.
- Direction: The loading of capacity by these software tools could be done in a “forward” or “backward” direction.
- Backward simply means that the software assumes that the last operation of a job will be finished on the job’s due date, and that each “previous” operation is placed precedingly into the capacity of the shop. In a backward scenario if any operation needs to be started “before today”, then the entire placement of that job is discarded and all the operations are then placed in a “forward” direction.
- Resource capacity: In software tools like this a “Finite” or “Infinite” scheduling flag determines whether the program recognizes that only a limited number of operations can be going on in any resource at one time (finite), else the program ignores such resource limitations and places operations regardless of resource capacity constraints (this is “infinite” – or as some of you may recall, this was originally referred to as “Rough-Cut” capacity planning).
- Direction: The loading of capacity by these software tools could be done in a “forward” or “backward” direction.
3 Top Difficulties When Creating a “Schedule”
There’s that key word again – schedule. So now that you know what today’s ERP systems and APS tools are trying to do, here are the 3 main reasons you haven’t been able to be successful with Finite Capacity Scheduling and Advanced Planning and Scheduling tools in ERP or bolt-on applications:
1. Current Methods Leave No Room for Variability
If you’ve read this far, you’ve probably spent some time, maybe a lot of time, in Manufacturing. So you know, in any manufacturing production environment, to put it nicely, “stuff happens”. Material doesn’t show up on time, people call in sick, machine or tools breakdown, etc. etc. Especially in a backward scheduling mode, there’s just no room for variability. By telling the system, “Let’s plan to finish the last operation of each job the day it’s due”, you’re setting yourself up to attempt to execute a plan that is assuming perfect execution of every operation with absolutely no room for “stuff” to happen. If I were the one responsible for on-time delivery to my customers based on the due dates of their workorders, I’d want to acknowledge, even anticipate, that variability in the processing of operations occurs, and make sure my execution and planning approach does the same. Click here for more information on how to anticipate variability with a custom execution plan for each job.
2. Provides No Visibility and Control of Work-in-Process (WIP) Levels
Any manufacturing production facility / shop floor / plant is a “system” in the same way a bank or an amusement park is a “system”. There’s a concept called “Little’s Law” from mathematical queue theory that applies to any such system. Very simply, it says that the number of people/items/jobs that enter a system is directly related to the length of time that any one of those people/items/jobs will be in the system. Go to the bank at lunch time and you will be in the bank longer to get your task done versus if you’re able to get there at 9:30 or 10 when fewer people are there (the more customer’s in the bank, the longer it’ll take you). Same thing applies to a manufacturing shop floor – the more jobs/work orders you send out into WIP, the longer period of time any one of those jobs will be in WIP. The neat part about Little’s Law is that the inverse is true as well: The fewer jobs/work orders you send out to WIP, the faster any one of those jobs will flow through all the resources/work centers it needs to get through to finish. So, while backward scheduling will trigger you to start jobs too late with no protection against variability, using forward scheduling will trigger you to start jobs too early and flood WIP with too many jobs – clogging up WIP, slowing things down, and confusing the true priorities of what should be worked on next at any work center or shop-wide. What is needed is the visibility of the balance point – click here for more information on when is the right time to start/release any job/work order.
3. Uses the Wrong Priority
Due date is a very important piece of information. It is your commitment on every job/workorder to your customer for when you need to get them their parts. But – especially in a High-Mix type of production environment – it’s a very poor priority mechanism. Why? Because in a hi-mix type manufacturing companies they often have jobs that are due well into the future that are much more in danger of being late (if you don’t get started on it right now) versus other jobs that are due in the near term. So in the example above when your traditional scheduling program is telling you to pay attention to the jobs due earlier first, that “schedule” is actually causing you to make those jobs that are due later much more at risk of being late. Having no real-time visibility into the true priorities of which jobs (right now!) are ‘most in danger of being late’, causes many companies to execute in a constant expedite mode. Companies are forced to react to being behind on many jobs and are left wondering why so many they don’t need yet are already done. Click here for more information on how you can have the right visibility of which jobs are most in danger of being late – regardless of due date.
Congratulations. Understanding the 3 Main reasons why traditional Production scheduling methods and software are not working for you and your on-time delivery metrics is the first step in unlocking the true potential of your shop floor.