The question here is a good one: How do you make the impossible, possible?
Recently, a product producer wanted the capability to “force” a production sequence onto an already heavily-loaded schedule. This request was motivated by the desire to satisfy his customer’s delivery date despite the fact that his scheduler said the product couldn’t be produced by the desired date.
The ‘force on’ capability raises the question of how constraints are handled within the scheduling logic. For many years, constraints were approximated by using average lead times. In effect, this is infinite capacity scheduling. Capacity limits are not really used–they are approximated by pre-defined delays. No matter what the load on the production system, the delays are the same. Believe it or not, some systems still use this inaccurate approach for supply chain calculations and for giving promise dates to customers.
Systems that model real available capacity have been available since the 1990’s and are now prevalent in manufacturing scheduling. These systems enforce the capacity limits which are finite. Hence the term “finite capacity scheduling.” They can give accurate promise dates for new orders even if those dates do not meet the customer’s needs. If a promise date is not satisfactory, the scheduler has a dilemma. How should I force the production for this new order onto the schedule?
Experienced schedulers know which constraints can be relaxed and which cannot. :
- Can we work overtime or schedule another shift?
- Are there other resources that can be used in an emergency?
- Can I outsource some of the work?
- Can I share some personnel across multiple tasks?
- Are there some low priority tasks that can be delayed in order to free up capacity?
The requirement to provide a ‘force on’ capability is actualkly the requirement to allow the user to select the constraints that should be relaxed so that something else can be scheduled. That decision is one of those that you don’t want to hard-wire into the scheduling application. The only real requirement here is for the scheduling system is to support a compromise that is achievable in a unique production environment. (See my previous blog on too much automated decision making.)
The force requirement is yet another example of the need for a decision-support system for scheduling, rather than a decision-making system.
So go for it! Use the force. You’ve got this!
Have a scheduling-related question? I can answer it!