02.29.08

System Types and Simulation Objectives

Posted in Discrete Event, Methodology, Simulation, applications, engineering, projects, throughput at 2:59 pm by joehugan

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.

Empty Return

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.

02.22.08

Application Focus: PLC Emulation

Posted in Discrete Event, Emulation, Methodology, Simulation, Software Products, Upcoming Events, applications, engineering, plc, projects at 10:46 am by joehugan

One application of simulation that does not get a lot of attention is PLC emulation.  Using a simulation engine and various communication methods, several simulation packages can provide a way to talk directly with a PLC running ladder logic.  This is advantageous because you can prove out (validate) the ladder logic before the real system exists.  This cuts down on costs and enables project managers to sleep better at night.

Seriously, validating ladder logic virtually can be done quicker and more effectively in a virtual world than it can in the real world.  An engineer at a computer can force IO to a specific state, watch the ladder logic execute and see the reaction of the entire real system without leaving the office.  On the floor, multiple people are required to force the IO and see the reaction.  

The other cost that is avoided is support personnel.  Often union labor needs to be called in to support the commissioning process on site.  Millwrights, electricians, and other labor are required to be paid just in case they are needed.  By testing ahead of time, these resources can be reduced by up to 70%.

Other cases have seen manufacturers avoiding an entire step in their process.  traditionally automated systems are partially, if not completely, set up and run off prior to final installation.  This is primarily done to ensure the operation of the controls.  Now that this can be done virtually, the projects are shorter and cheaper than they were in the past.

One last benefit, controls engineers now have remote access to automated systems around the world.  If the PLC code is changed and stops operating correctly, the logic can be emailed to the support engineer and debugged remotely on the virtual model of the plant.  This saves on travel and leads to better response times. 

For those of you who don’t know, this is a bit of a shameless plug.  Currently I work with V-Sim on a software product that does PLC emulation and I am organizing sessions for the this year’s Winter Simulation Conference in Miami.  If you have an interest in PLC emulation, visit our website, www.v-sim.com.  If you want to be involved in an emulation session at Winter Sim this year, email me at jhugan@gmail.com

Happy Modeling…..

One Month In….

Posted in Discrete Event, Emulation, Methodology, Modeling Tips, Simulation, Software Products, Upcoming Events, applications, engineering, humor, plc, projects, throughput at 10:29 am by joehugan

TheSimBlog has been going for one month now.  We have had over 1500 views in the past month.  Thanks to everyone who has visited and commented on blog.   — Joe

02.15.08

Simulation For Training

Posted in Discrete Event, Methodology, Simulation, applications, engineering, projects, throughput at 4:15 pm by joehugan

There are many ways to measure the usefulness and benefit of simulation projects.  One of the overlooked areas is training.  Training simulations tend to give a lot of benefit for the effort required.  Usually these models are used over long periods of time so the cost is spread over a long time horizon.  There are a number of different ways you can use simulation as a training tool.  Here are some past ways that I have worked on that had training components:

  1. Sequence of Crane Operations - A large airplane manufacturer had operators who operated multiple cranes in concert to build up the major pieces of an airplane.  Often two cranes had to work in concert and carry a large part across many bays that would halt work in those bays during the slow, arduous move.  A simulation model was created to train operators on the best sequence for the infinite number of potential timing decisions they would have to make.  The model was run with different rules to minimize the time to assemble the plane based on the sequence of operations.  As the operator interacted with the model to instruct the move he/she wanted to see next, the model would provide feedback that the model agreed with the choice or that it would have made a different move.  This was a really cool way to use the model as a repository of best practices because the model could be updated to reflect the better decisions that real world experienced operators would naturally choose.
  2. Time Based Resource Allocation - An aluminum can manufacturer uses molten aluminum to create ingots that are rolled and formed into cans.  The molten aluminum is made up of a mixture melted aluminum ore and shredded aluminum cans that were collected from the public.  Each of these two sources is melted at independent locations and transported to the furnace that feeds the ingot molding process.  The transportation mechanism for the melted ore and melted shredded cans is a crucible that holds about 1500 pounds of aluminum.  Once aluminum is poured into a crucible, it must be used within 6 hours or it will harden and ruin the crucible.  The chemistry required by the ingot dictates that a certain percentage of the aluminum needs to be pure ore and some of the ingot can be formed from melted “reclaimed” cans.  A Metal Caller has the job of deciding which crucibles of melted aluminum gets used on which ingot.  They also have to tell the aluminum sources when they need more aluminum and how much to send.  A simulation model was used to train the metal caller to maximize throughput and minimize the number of crucibles that were “frozen” since they were not used in the 6 hour window.  This type of feedback helped train new metal callers or assisted people unfamiliar with the process if the normal metal caller was away or on vacation.
  3. New Employee Training - We have built many models that were used initially to make a traaditional capital decision about throughput or manpower.  After the project, these models get repurposed as introductory tools that help new employees visualize a large process or understand how a system should react to various conditions as they arise.  This comes back to the communication value of models and the power of getting everyone on the same page within a particular process.
  4. Operator Instructions - For more detailed models that include the steps of an assembly process, simulations can be used to create visual work instructions for an operator.  These instructions can be used as part of a formal training session at a new facility or available at an operator workstation for a refresher on operations that are not used that often.

02.11.08

Where, When, Why and How?

Posted in Discrete Event, Methodology, Modeling Tips, Simulation, applications, engineering, projects, throughput at 11:10 am by joehugan

When we start simulation projects the first thing we usually want to know is the purpose of the study.  What’s the question?  What’s the motivation?  This tells us a lot about the level of detail and scope of the project.  I’ve come up with five typical classes of questions.  Each type of question tells us something about the system before we even start the project. 

Will It Work?

This question is often asked on projects where someone is trying something for the first time or it is very early in the process of designing the system.  Intitially we have concerns about how fluid the design will be.  We have expect to build a very flexible model because its bound to have a lot of changes.  By “work” the customer often is referring to throughput or some other key metric like on time delivery.  You can always drill down and find out the source of the concern.  That should be the focus of the model because its probably the first thing the customer will look for when you are presenting conclusions.  These types of binary questions are a bit dangerous estimate the total project time because customers will often continue to change the system until it works and that could be a lengthy road.

How Many Do I Need?

Many systems are based on past implementations but they are resized or reconfigured to fit a new product volume or a new space.  Simulations are often used to figure out the details for this particular instantiation of the concept.  Some example of questions might be “How many carriers are needed in the paint shop?”, “How many AGVs does this assembly system need?”  How many forklifts do I need to support material arrival at the docks?”.   In each case, the customer has seen this type of system work in the past they just don’t know the capital required to apply the solution.  These are usually cut and dry situations that revolve around the quality of the input data.  You will spend a lot of time learning about the details for the system and the model should be relatively stable in terms of concept. 

One warning though.  People will often think that System B is just like System A.  Take for example an AGV assembly loop.  At facility A, the customer is building a popular vehicle and they have an assembly loop dedicated to a portion of the vehicle.  At their new facility, they may decide on a similar loop but it is going to handle two lower volume vehicles on the same loop or maybe a series of specialized variations of a single vehicle.  These systems can operate very differently and its not just a line balancing issue.  Assuming you can balance the workload on each station, there are still issues that can impact the loop design as the project progresses.  For example, if you are assembling an axle you might have different key points where the axle rests on the AGV.  This could dictate different tooling plates for each part type.  The management of these plate swaps might dictate a completely different design idea that does not include AGVs.  The morale of the story is to decide for yourself if two systems are similiar and use the information to decide how the model should be constructed.

Why is THIS happening?

This type of question often comes from an existing system.   The operation is up and running but the system does not always behave as expected.  These projects will have a high “forensic” component.  You will spend time in the facility trying to figure out why a system is presenting a particular symptom.  An example of this would be a automotive paint shop.  Whenever a paint shop goes to lunch or break, cars cannot be left in the paint oven or even the spray booths.  The loading of the paint oven stops and the jobs in the oven continue to move forward during the break.  When the break ends, the oven starts to load again and the “hole” created by the break is closed by staggering the break schedule of a downstream operation.  Almost every paint shop I have seen handles these issues very well but it is an example of a systemic timing issue that can cause problems because its hard to see the big picture.  Innocent changes to an operating schedule or the ressignment of material handling personnel can impact an entire system without leaving “smoking gun” evidence.  Simulations are great at deciphering these kinds of mysteries but the key is what is actually happening in the system not what someone “thinks” is happening.  Get out there and watch the system to confirm all of the assumptions.

When Does IT Break?

Systems that are more mature or customers that are more forward thinking will often want to know what is the maximum capabilities of their system.  In other words, if we turned up the demand when would our system fail to deliver results?  This is really bottleneck identification with a twist.  We are trying to understand how close the system is to maximum capacity so we can make better decisions about how to handle future increases.  These simulations are usually straight forward and the questions are often coupled with questions about where to build a new product or whether another shift is required at a current facility.  One note, most systems will incur higher downtimes as you approach their maximum capacity due to less maintenance and the fact that fixed size buffers are a lower percentage of average production rates.  Downtime senstivity analyses often make sense in this case to see how much time you should spend refining MTTR and MTBF distributions.

How often will THAT Happen?

When people design systems they like to think in absolutes.  I don’t ever want THAT to happen.  Sometimes you can design systems to avoid specific events like a mismatch of assembled parts or two trucks competing for the same unloading dock.   More often though you are forced to decide on your level of service.  Airlines design baggage handling systems to route a certain percentage of the bags incorrectly (i.e. “lose them”).   They do this because the cost of a system that never loses a bag would be astronomical.  In the same vein, facilities are often faced with rare events that need to be either “designed out of the system” or “lived with”.  The decision to spend the incremental dollars on the redesign  often hinge on the frequency of the event.  Simulations are an excellent way to blend random events to count how often a combination of events cause these bad conditions. 

 An example of this happened on a past project.  We were analyzing traffic patterns around an automtoive facility.  During the last stages of manufacturing design, the building size was expanded due to a new buffer that was required inside the facility.  This made the building an odd shape and one road around the plant had two extra curves to accomodate the change.  This road was the main route to one of the sets of delivery docks.  Vendors would use this road sporadically to both enter and exit these docks.   The problem was that the road was relatively narrow.   The question was “should the road be widened?”.  If trucks travelling opposite directions would cross on this road once every few days, then the problem could be managed without widening the road.  If it was more frequent, it would be necessary to widen the road.  None of us could just look at the data and estimate how often it would happen.  The simulation showed that it was a very frequent occurrence (6-7 times per shift) and the road was widened.  None of us had a gut feel for this and the simulation was key to the decision. 

02.06.08

Modeling Focus: Site Traffic Simulations

Posted in Discrete Event, Methodology, Modeling Tips, Simulation, applications, engineering at 4:46 pm by joehugan

I thought it would be interesting to talk about specific types of simulation models and the usual objectives of each type of application.  One application that has been more popular in recent years is the simulation of inbound and outbound truck and employee traffic at automotive facilities.  

 LGR Simulation Image 

Sample Traffic Simulation Image 

There are a number of reasons to undertake a study of this type:

  1. Validating the gate staffing versus the planned process at the gate
  2. Determining estimated dock utilization
  3. Determining the time for each sequenced commodity to get from the site to its dock
  4. Evaluating employee arrival and departure times and routes to reduce the impact on the delivery of just-in-time sequence deliveries.

Gate Sizing and Staffing:

Usually a site has more than one entrance.  Specific vendors will choose the most convienent entrance unless they are told (forced) to use a specific entrance.  Simulations can be used to balance the workload at each gate and reduce the average wait time for a truck to enter or exit the site.  As part of this process, trucks are classified into sequence versus non-sequenced commodities.  The non sequenced materials can show up any time.  they are usually less frequent and the driver is more unfamiliar with the site.  The check in time for these trucks is usually longer and there may be an inspection, directions, or specific paperwork required to enter the site.

Sequenced arrivals are often given a dedicated lane and a pass card so they can enter the site without guard interaction.  These drivers are usually at the site several times a day and they are taking a dedicated route to a specific dock every time.

The simulation can also assess the impact of inspection philosophies.  Some plants do a 100% check on outbound trucks to look for contraband materials.  Other sites have a random check.  The simulation can quantify how different inspection strategies impact the average queue at a gate and the average delay time for sequenced materials arriving at the site.

Dock Utilization

Some sites will have outside drivers drop their trailers in a marshalling yard and pick up an empty trailer and leave.  The OEM is then responsibile to accomplish all the trailer moves on the site with a dedicated crew of tuggers.  Other sites let vendors drive to a dock where they unhook their load and grab a trailer from an adjacent dock.   Some sites require the vendors to wait for their parts to be unloaded and empty containers to be reloaded before they exit the site with the same trailer.  Lastly, some trailers have dedicated automation inside the trailer that allows the trailer to act as an automatic buffer for the plant.  In each of these cases, the utilization and number of docks required by the plant is different.  Simulations can quantify these choices and help determine the material handling staff inside the building required to support the arriving commodities.

Broadcast Impact of Site Traffic

Sequence parts often arrive on very tight windows.  Parts are built at a local facility and shipped to the plant just before they are needed.  As part of planning this arrival, vendors need to know how much time they have to build a component and get it to the appropriate dock.  Once a vendor knows the lead time they will have to make a part, they need to subtract the time to build the part, the time to load it on their truck and the time to drive it to the facility, and the time to unload it at the OEM.  Vendors often forget the time that they have to wait due to traffic at the gate, the time inside the vendors property to get to the dock, and any congestion on the site.   Simulations can give the vendors estimated times that they can deduct from their broadcast windows when trying to estimate the number of trucks and how many parts can be loaded on each truck.

Employee Traffic

Recently we studied a few automotive sites to assess the impact of employee arrivals on truck traffic.   The key times are obviously during shift changes.   The models are fed employee demographics by zip code to determine the most likely arrival point at the plant.  Employee arrival and departure time distributions are modeled using data collected from either the existing site or a similiar site in the same area.  Once the model shows the impact of the employee traffic, experiments are developed to assess the impact of dedicated employee arrival gates and if the local city planning office can assist by changing traffic lights or expanding exit ramps to ease congestion.  This is also a useful tool for helping vendors adjust their daily schedules to make sure more parts are available to the plant at these shift changes to avoid any shortfalls due to accidents, weather, or other congestion issues.

I am planning to write about other applications in the coming weeks.  Please suggest a topic that you would like to see discussed.

02.04.08

New Poll Added

Posted in Discrete Event, Simulation, projects at 1:53 pm by joehugan

How long do you spend on a typical project?  Some analyses are done very quickly, others are drawn out over a long period of time.  Click on the poll and let us know what is typical for you.

 How Long is Your Typical Simulation Project?

02.01.08

The Many Faces of Sim

Posted in Discrete Event, Methodology, Simulation, applications at 9:52 am by joehugan

Over the years I’ve used simulation to address many different types of problems.   There are traditional questions about throughput, manpower, utilization, and capital spending.  For these questions a model is built to represent the operation of the system and variables are changed.  Once we feel the model fairly represents the system (verification and validation), we try to maximize some sort of objective function that summarizes the questions and concerns about the system.  We usually do this through some battery or experiments or maybe even a structured design of experiments process.  This is the foundation of our industry.

The concepts behind simulation have been applied in many other ways.  We have all built models for, shall we say, “non-traditional” purposes.  I’ve talked about how models communicate ideas.  The ability of a model to draw participation from a group is undeniable.  Often models justify themselves strictly because they get a project team on the same page and give them a common frame of reference for a complicated discussion.

So what else?  I have heard people say that if a model does not have a stochastic process that it is not worth doing.  I disagree with that sentiment.  While almost every system in the real world has a stochastic nature, questions about the system can be answered without that level of detail.  I have seen many valuable models that do not include probability distributions of any type.  For example, an automatic paint system for large trucks.  The amount of time required for a robot to paint the truck is different based on the type of truck being built.  A different program is downloaded to the robot based on the truck type.  It is constant for any type of truck but different based on the production schedule fed into the system.  This becomes a scheduling problem with the additional variables of conveyor speed, physical length, flash time for the paint, and cure time in the oven.  Through heuristics, we can evaluate the rules for how to process jobs effectively.  Is it better to batch like trucks through the system or find pairs of vehicle types that make the process flow with a higher utilization?

What about other applications?  Our latest application of discrete event technology is PLC emulation.  We create a virtual model of the hard automation on a factory floor and let the control for this system be driven from an outside source.  This outside source is usually a PLC but in reality it could be any outside algorithm.  The model in this case simply responds to the commands from the outside intelligence and provides feedback.  If the PLC tells the model to turn on a conveyor motor, the conveyor turns on.  If a part on that conveyor trips a photoeye, that event is reported back to the PLC so it can decide what the appropriate reponse is.  These models by definition are deterministic.  We are trying to validate that the logic in the PLC will perform appropriately when used in the real world.  Essentially, the PLC program is the variable that we are changing and the model represents the part of the experiment that stays constant.  This application has an incredible payback because it allows code to be validated before the real world is either created or interrupted.  It says valuable factory time, finds errors earlier in the process, and allows for testing things you woudl never try in the factory for safety reasons.

I have also seen examples of simulations being embedded in many other decision making processes.  Please comment on the post and let me know other applications that you have seen.  This will allow us all to see the many applications of simulation that are right in front of our faces on a daily basis.