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!

Quick Survey of Production Scheduling Heuristics – Part 1

In my last post, I outlined three fundamental principles for selecting an approach to manufacturing scheduling.  The method that you select should be based on those three fundamental principles.  In this and next week’s posts, I will give you a quick survey of approaches for scheduling. 

For Job Shops

In a job shop, your primary need may be to schedule individual work centers or machines.  In this case, the following approaches should probably be considered:

  • Purely Due Date Driven Rules, including the following:
    • Earliest Due Date (EDD)
    • MST – Minimum slack time – where slack time is the difference between the time until the due date and the remaining processing time.
    • ODD – Operation due date – operation due dates are created that serve as intermediate deadlines prior to the real due date.
    • S/OPN – Slack time per operation – Choose the job with the smallest ratio between slack time and the number of operations remaining.
    • A/OPN – Allowance per operation – Prioritize the job with the smallest ratio between the “allowance” (time between the current date and the due date) and the number of remaining operations.
    • MOD – Modified operation due date – a modified operation due date is the larger of its original operation due date and its earliest possible finish time
    • COVERT—COVERT stands for “C over T”, where C represents the delay cost for the job and T represents the processing time for this operation.  Jobs are sequenced according to the ration of delay cost to processing time.
  • First-come, first serve (FCFS)
  • Shortest Processing Time (SPT)
  • CR by itself

Even though it ignores due dates, research shows that SPT tends to outperform or perform very well whether the goal is minimizing average job lateness,  # of jobs late, mean flow time, or WIP.   Some other variations of SPT include the following:

  • SPT with Critical Ratio (CR – time till due date divided by time to complete the order)
  • Shortest weighted processing time (SWPT – SPT weighted by a factor such as expected profit)
  • Truncated SPT (TSPT) – imposes a time limit on jobs in the queue where any jobs exceeding the limit are sequenced according to FCFS
  • Relief SPT (RSPT) employs FCFS until the queue length hits a specified value at which point the rule switches to SPT.

If you need to schedule multiple machines or work centers, then you may want to consider these heuristics:

  • Work in next queue (WINQ) – assigns highest priority to the job that will join the queue (after the current operation is completed) with the smallest workload (where workload is the sum of processing times waiting in that queue)
  • Expected Work in Next Queue (EWINQ) – similar to WINQ, except that it also accounts for jobs that are expected to arrive in the subsequent queue

Bottleneck Operations 

A bottleneck can occur within any type of manufacturing, including a job shop, repetitive manufacturing, or batch manufacturing.  In a job shop, it can often move from one resource or work center to another, depending on the mix of products demanded.  When there is a significant bottleneck, it is important to maximize throughput at the bottleneck operation, while keeping work-in-process (WIP) buffers under control.  The late Eli Goldratt devised the “Theory of Constraints” (TOC) in which the goal is to keep the constraint busy, leveraging buffers before the constraint and synchronizing the release of work to the shop floor to keep the buffer constant.  A related, but somewhat more transparent heuristic is called “Constant Work-in-Process” (CONWIP).  Some research has indicated that CONWIP can achieve lower work-in-process inventories than a full Kanban system.  In my next post, I’ll touch on repetitive make-to-stock manufacturing, network routing challenges, optimization, and how to evaluate and select the best approach.

I’m always grateful you took the time to read Supply Chain Action, and I’m delighted if you found something you can use.

On this Memorial Day weekend, remember the words of Edmund Burke, “All that is necessary for the triumph of evil is that good men do nothing.”

If you are in the USA, have a good Memorial Day holiday.  If not, have a wonderful weekend!

Acknowledgement:  Inventory Management and Production Planning and Scheduling, Silver, Pike and Peterson

Why Production Scheduling Software Applications Are Not a Panacea

Scheduling manufacturing work can be a frustrating task.  This is particularly true if the organization has not determined the goals and priorities of its scheduling process.

In my previous post, I outlined a few reasons why production scheduling is difficult.  The challenges I highlighted were somewhat general.  Of course, there are industry-specific challenges as well.  For example, consider the following:

  • Many chemical manufacturers must keep a reactor working and the batch size must be within a minimum and maximum.  Then, there is often the difficulty of keeping storage tanks between their “heel” and capacity, not to mention the frequent need to synchronize production with transportation scheduling at the fill rack.
  • In the paper and flat-rolled steel processing industries, there is the problem of sequencing jobs not only to minimize changeover time, but also to minimize trim waste across successive operations.
  • In the consumer packages goods space, it is often difficult to sequence production and packaging to maximize throughput and minimize the number and duration of setups.

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.

I haven’t seen all the available scheduling software applications, but I have yet to see one that actually allows the user to answer questions such as the following, to name a few:

  • Do I want to complete the most orders on time?
  • Do I want to complete the most units on time?
  • Do I want to ship the most revenue on time?
  • Am I trying to schedule just one machine or work center?
  • Am I trying to schedule the entire shop floor?
  • Do the bottlenecks move based on the mix of items being produced?
  • Do I want to level the production workload?
  • Does my scheduling approach match the manufacturing process?

So, what’s the point?  Whether you are optimizing the product wheel for a chemical or food/beverage processing operation, leaning the flow of a repetitive manufacturing process, or trying to maximize the return on capital-intensive bottleneck assets, here are three fundamental guidelines that will serve you well:

  1. Determine the goals of your scheduling decision process.
  2. Understand the characteristics of your manufacturing operation.
  3. Select the simplest approach that will help you meet your scheduling goals and fits with your manufacturing operation and business model.

In my next post, I’ll conclude this topic with a quick survey of some approaches to production scheduling.

Thanks for stopping by again.  I hope you found something useful in today’s post.

I leave you with these words from O.W. Polen, a fellow Ohioan, who passed away in 2010 at the age of 89:

“You are who you are—and not what people think you are.”

Have a wonderful weekend!

Why Detailed Production Scheduling Is Difficult

You can probably name more, but here are some key reasons that production scheduling is difficult and often frustrating:

Demand varies, sometimes a lot.  If you are manufacturing high volume, repetitive, promotionally driven goods, then you may have an opportunity to “level” demand and run a mixed model schedule in a very lean fashion (e.g. assembly line).  Even here, however, the manufacturer can’t completely control the marketplace and simultaneously be pull-driven.  On the other hand, if you run a make-to-order job shop, demand is highly variable by definition.


Demand is seasonal.  If you have seasonal demand and lots of idle capacity or a ready cadre of contract manufacturers or co-packers, then this may not be as big of an issue, but in many industries, it is simply too expensive to maintain capacity to handle seasonal peaks.



Procurement/production lead times always exceed customer tolerated wait times.  This is pretty self-explanatory.

Constrained capacity.  As demand varies day-to-day and seasonally, there will be times when you just don’t have sufficient capacity for every product demanded, and you have to find a way to maximize, or at lease, prioritize throughput.



Shifting bottlenecksIf you have a single bottleneck and it is constant (doesn’t shift to another machine, work center or resource), then there are techniques that will work reasonably well for this scenario.  However,  in a job shop, for example, the bottleneck may change often, based on the mix of items being produced.


Economies of Scale.  Equipment setup time is never zero.  Capacity is never infinite.  Manufacturing time is never zero.  Therefore, lot sizes are never just one unit, with the exception of completely make-to-order, complex, customized machinery where the customer’s willingness to wait is equal to or exceeds the time it takes to manufacture the item.


Sequence dependent setups.  With any more than just a couple of products with different changeovers that depend on the sequence in which they are produced, this becomes pretty challenging to do.



Dedicated equipment.  The more that factories, work cells, equipment or people are focused on just one product or set of products, flexibility is significantly reduced.  While this means there are less options to evaluate, it also means there are fewer options available to help meet the goals of the scheduling process.


Manufacturing Defects.  This can be especially challenging where there are sequential operations and a defect in the last operation can cause the whole lot to be scrapped, effectively wasting not only that operation, but all of the previous operations as well.

Next week, I’ll look at why scheduling software packages often fall short.

Thanks once again for taking a moment to allow me to share my thoughts with you.  I leave you with these words from Henry Ford,

“Before everything else, getting ready is the secret of success.”

Have a wonderful weekend!

%d bloggers like this: