And the rest are at best inconsequential!
Talking of planning and scheduling problems in a manufacturing context, the first important thing to get it right is to decide the ‘default’ objective of the plan (or schedule) and then work our way from there (given objectives change and for valid reasons)
- Is it to reduce backlog at any given point in time?
- Is it to utilize capacity of the resource to the max?
- Is it to meet customer delivery dates at any cost?
- Is it to reduce tardiness?
- Is it to minimize response time (or takt time or make-span as some call it)?
- Is it to maximize throughput?
- Is it to maximize profitability?
- Is it to minimize amount of inventory held in the system at any point in time?
- Is it to maximize the remaining shelf life of the product at completion stage?
In systems like airports (flight and crew scheduling), repair service, shipping and door delivery, network (bandwidth), project management or even computing (work processes), scheduling can be often a time consuming painful activity. The best solution is often not the lowest cost or most efficient solution! It may (and will) violate one or more objectives considered dear by the management. It is best now because an immediate objective (or priority) needs to be met.
Several ‘Heuristics’ exist to solve for these objectives and none is a final solution. Each output would need some degree of manual intervention in the end. It would be prudent to remind ourselves that scheduling problems are inherently large scale problems and can be complex if we attempt to ‘solve’ for it. To be technically precise they are called NP Hard problems. A problem that cannot be solved in a finite amount of time even using best of computers available. So a feasible solution must be found quickly and hence the heuristics that attempt to meet one of the objective above e.g. minimize make span or maximize utilization, minimize set up change time etc.
But a related question that does not seem to get much mind-share during implementation is how to define the boundary lines of scheduling activities at the first place.
- When does scheduling start and when must it end?
- How far out should scheduling happen?
- How should we model the resources/machines/work centers?
- Can we model 4 identical machines as one work center? What do we lose by doing so?
- What factory layout makes for least queues and waiting time?
- Usually only one chance to design this!
- To what level of granularity of activities /tasks/ operations should scheduling happen?
- How do we explain the fact that a particular activity that starts now must go on for next 18 hours without a break? Esp. if it happens to be a major holiday in between.
- How about re-scheduling the machines based on availability of the operators?
Scheduling is challenging and is often the most ignored area in supply chain planning projects. It is de-prioritized in most supply chain projects or at best reduced to paper, pen and email business. Often the people who must be able to understand scheduling (e.g. production managers and supervisors) are the ones who least care about scientific ways of doing scheduling. I don’t blame them. It is a serious training issue and when it comes to shop floor, the management seems to be least interested wrt training and education needs of production supervisors and work center operators! who are best placed to make the final call based on the proposed schedule.
A quick review of literature in supply chain reveals that more technical papers were written on scheduling than in rest of supply chain space. Most of it not poetry unlike the rest of it. Scheduling is about precision and do-ability, right now. If done well scheduling can ‘compensate’ for the bad mid-terms plans. It is the final chance to fix things in the interest of customer service and live up to the promises made.