Quick Survey of Production Scheduling Heuristics – Part 2

In this week’s post, I will complete my quick survey of approaches for manufacturing scheduling.  Which one of these or other methods that you select should be based on the three fundamental principles I outlined here.

Repetitive Make-to-Stock Manufacturing

Those familiar with “Lean” principles will be familiar with leading techniques in this manufacturing environment.  There are two key principles:

  • Constant Flow – keep production levels constant with a mixed-model schedule and level demand (The trick here is how to determine the mixed-model schedule and what to do about demand variation, but that’s a topic for another time.)
  • Demand Pull – only manufacture or purchase additional materials or parts when they are required by the next point downstream in the value network, ultimately by the end customer/consumer.  This is often facilitated with visual (or sometimes electronic) “Kanban” signals.

These principles are facilitated through two kinds of continuous activities, both of which are mandatory for any manufacturing operation, regardless of scheduling approach:

  • Continuous elimination of waste (wait time, WIP, poor quality)
  • Constant effort to reduce setup times and batch (or lot) sizes

For Semi-conductor or Other Network Routing Challenges

In semi-conductor manufacturing, a chip may take a variety of paths through production, depending on the outcome of any given operation.  Chips are tested after each operation.  The next step in the routing depends on the results of that test.  This variability creates a very difficult scheduling challenge.  Perhaps the most important aspect is tracking the results of each outcome and identifying the next operation for each chip.  Capacity usually has to be planned based on the probability that a piece will follow a given routing, based on history.  There are others who know more about scheduling in this environment, but I hope I have at least outlined the basic challenge.

A Word About Optimization

Many scheduling software programs that claim to “optimize” (see second paragraph here) the schedule merely find the lowest sum of hypothetical or relative costs such as the cost of a stockout, the cost of carrying inventory, the cost of setups, etc.  These are rarely, if ever, a pure optimum, even assuming that the relative costs are exact and static, which, of course, they aren’t.  So, in effect, you still have a heuristic.  However, if the costs are accurate enough, this can be a very helpful technique, particularly when determining the best sequence to minimize total setup time.   Constraint programming (like that in IBM’ s CPLEX optimization engine) has been very effectively combined with graphic schedule visualization tools like a Gannt Chart and other visual and analytical aids in an holistic solution called IBM ILOG Optimization Decision Manager Enterprise.

Optimization is also very helpful when determining what period of time a “product wheel” (predetermined sequence of products that is repeated – used in many batch processing environments) should cover and how much of the wheel each product should consume (or whether a given product should be omitted from the sequence for a given iteration of the “product wheel”).

This discussion begs two final questions:

1)      How do you select the best method?

A very useful technique for evaluating heuristic scheduling approaches is discrete event simulation.  It is also very helpful in evaluating the results of an optimization.  There are relatively inexpensive software packages that are designed explicitly for this purpose.  Historical data or statistically valid distributions of input variables (e.g. demand, processing times, etc.) can be directly input into a simulation model.

2)      How should you enable or support it – what tool or tools are required?

If, for a reasonable investment and in keeping with the three fundamental principles I laid out at the end of my last post, you can find a scheduling software application that meets your needs and is integrated with your shop floor transaction system, then that is probably a wise course.  However, that may be difficult to do, particularly in a job shop environment.  Other possible approaches include building scheduling logic in Visual Basic and Excel or tailoring a constraint programming solution specifically for your scheduling challenges with some of the optimization tools that are available today (like IBM ILOG Optimization Decision Manager Enterprise).

In any case, a visual schedule board on the shop floor is often very helpful.  The trick is to keep your information system and scheduling logic in synch with the board.  One possible option is to display the scheduling board on a large screen on the shop floor and automatically update it with transactions that are entered via a bar code on the shop floor.

This basic survey of scheduling approaches has not been exhaustive, and it hasn’t dealt explicitly with the use of queuing theory, but I hope it has been a reasonable overview and brief tutorial.  I promise to write about something other than production scheduling next time!

I leave you with the words of Ralph Waldo Emerson, who said, “Though we travel the world over to find the beautiful, we must carry it within us or we find it not.”

Have a wonderful weekend!


About Arnold Mark Wells
Industry, software, and consulting background. I help companies do the things about which I write. If you think it might make sense to explore one of these topics for your organization, I would be delighted to hear from you. I am currently employed by Incorta, but I am solely responsible for the content in Supply Chain Action.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: