02.29.08
System Types and Simulation Objectives
Whenever I see a new system that may need simulation, one of the first things I need to do is figure out the system type. Generally speaking, system types are defined by features of the system. Some of the features that I key on include:
Open Versus Closed Loop - In automated systems, carriers or pallets might be used to deliver parts from a load station, through a series of operations, and then to an unload station. After the unload station, the carrier/pallet needs to return to the load station to pick up a new part. This is an example of a Closed System. An example of an Open System would be a delivery conveyor that ships boxes from point A to point B. Nothing has to return to the beginning of an open system.
Simple or Complex Flow - Many large systems has a very straight forward flow. Higher production systems tend to be dedicated to specific task. The “Flow” of these high production systems is often very simple (largely linear) in nature. An example of a system with a “Simple Flow” would be a traditional assembly line. While the functions performed at any given station could be very complex, the decision on where to go next is usually constant. Parts flow through a series of stations. If a system has a “Complex Flow”, the decision making process for deciding how to route parts between operations can be quite complex. An example of a system with a “Complex Flow” is a job shop. A job shop often has a wide variety of machines that perform dedicated tasks. Depending on the part being built, the queue in front of each machine, and the current work in process, a part can be routed through the machines in a different order. The process at any one machine might be simple, deciding when to go to a specific machine is the challenge.
High versus Low Process Variation - This system characteristic refers to the cycle times on individual operations. As each part moves through an operation, does the cycle time vary significantly? Usually when systems are designed, one goal is to remove variation. This isn’t always possible. An example of a system with a high process variation is a paint shop for Semi-trucks. These trucks can vary in size and complexity. As they enter the paint booth, the time for a robot to paint the truck could be double or half the last truck that was painted. There are a lot of examples of Low Process Variation systems. This concept is really the basis for any line balancing algorithm. How can work content be moved around a system to make each station perform a similar amount of work? As systems age, changes will often disrupt an initial balance and take the system from a low process variation classification to that of a high process variation.
So what do these system level characteristics mean when considering a simulation? Each of these system types tend to exhibit different challenges during the modeling process, different questions that typically need to be addressed, and different types of software packages that are ideal for modeling. For today, I’m going to focus on the typical questions that are asked. We’ll leave modeling challenges and software packages for another day because they are related and part of a much larger conversation.
Typical Questions by System Type
Closed Systems - These systems can be very tricky. Its not always obvious where the system is being constrained. A typical problem in the design of these system is that not enough room is left between the unload station and the load station. The diagram below shows a typical closed system.
The part is loaded on to a carrier and it proceeds through three processes (Proc A, Proc B, and Proc C). There are buffers between each operation. If the ”empty return” area cannot hold all of the carriers that can exist in the Buffer portions of the loaded system, the system will not operate at peak performance. Buffers are only effective if they can exist as full or empty. Imagine that each of the Buffers can hold 5 carriers. Now imagine that the Load station has a serious downtime. If the Empty Return can only hold 15 carriers, the last buffer will not be able to empty out and the unload station will have to stop even though there are five more carriers that could be unloaded. Simulations are excellent at helping you determine the optimal size for empty returns. This might not always be the cumulative size of all buffers on the loaded side. Depending on downtimes and travel times between processes, the empty return size could vary significantly. Often, inexperienced system designers will simply close the loop in the shortest distance possible. If you size the empty return too small, you can severely cripple the throughput of a system by making the planned buffers unusable.
Simple Flow Related questions - When a system has a simple flow, you are normally trying to balance the net production across the various processes. If unplanned downtime is higher for a specific process (i.e. - it is naturally more complex), you might introduce some overspeed to a particular station to allow a higher gross throughput. If the average length of a downtime is longer, you might evaluate the benefits of a buffer before and/or after the station to allow other operations to process for a longer period of time before becoming synchronously locked to the failed process. Students of lean manufacturing will want to alter the process to eliminate these differences. While this is an admirable goal, sometimes the capital expense and floor space of an existing system makes process changes impractical. In summary, simple flow systems often drive questions about process speed and the benefits of localized buffering.
Complex Flow Related Questions - complex flow systems are very dependent on the sequence of jobs and operations. The system can yield very different results by altering the order that jobs are processed by the system. This is largely a scheduling problem. Heuristics are useful in evaluating which job to pick from a stack as the next one to process. Often this discussion revolves around batch size.
High Process Variation - Complex Flow systems often have a high process variation too. In a system where you are trying to minimize inventory, it is often desireable to have a batch size of 1. If there are setup times or a wide variation in cycle time between part types, larger batch sizes often make operations have a higher utilization. High process variation systems often dictate questions about the impact of cycle time variation and the contrast between inventory and throughput.
This post is getting long. I’ll continue this discussion next time and talk about some of the less obvious questions that can be driven by the type of system being modeled.
