Getting Started in Simulation Modeling Jerry Banks & Randall Gibson

advertisement
Getting Started in Simulation Modeling
Jerry Banks & Randall Gibson
Simulation modeling is similar to other engineering disciplines. It requires training and experience to
become competent, and isn't really as easy as some people might have you believe. It's an art as well as a
science. While it's not necessary to have an advanced degree in simulation, industrial engineering, or some
other related discipline, there are several steps or guidelines you should consider if you intend to become an
effective modeler.
Many articles and books have been written on various aspects of the art of simulation modeling –guidelines
for project success, proper management techniques, why projects fail, selecting software, etc. If you're
planning a career in simulation modeling, you might read these articles and keep a copy in your personal
library. Too often, however, first time simulation modelers simply select a software package and set out to
solve a problem. Instead, they would be better off following asset of guidelines like those outlined below.
These guidelines, combined with common sense and sound judgment, should help you make wise decisions
as you get started in simulation modeling.
Our guidelines for getting started could be written as 10 steps or 15 steps; there is nothing magical about
the number 12. What is important is that an orderly process is provided, and the contents of each step need
to be accomplished.
Step 1: Define the problem
Perhaps the most important, but often the most overlooked, aspect of simulation modeling is defining
exactly the problem that needs to be solved. A common misconception among those unfamiliar with
simulation is that once a model is built, it will be able to provide answers to any and all questions relating
to the simulated system. Like other computer applications, a simulation model can only do what it was
designed to do and it's impractical to design it to do everything. Therefore, careful determination of the
model design the scope and level of detail represented in the model is critical. A good way to begin is to
construct a list of the questions that the model will answer. Be specific. For example, ask, "What is the
maximum length of accumulation conveyor used?" rather than "How big should the system be?" The
questions should be open ended. For example, ask, "How many sortation lanes are utilized" rather than
"Are 10 sortation lanes needed?"
Once all the questions are listed, rank order them and separate them into two classes:
Key questions are those that the model must be able to answer; Desirable questions are those that we may
want the model to answer, but they are not critical
Classifying them helps focus the model construction effort, and tells the model developer what may be left
out if needed to meet a schedule or budget constraint.
During this step, suspend judgment until the system is better understood. Avoid the temptation to influence
the questions if you believe you already have the answer, or consider that aspect of the system not
important or unrelated to the problem solution. It is also helpful at this step to quantify the benefits
anticipated from obtaining answers to each question. This process will help pare the list of questions to
only the important ones. Too many questions will lead to a large and cumbersome model, which will be
difficult to construct, validate, and use.
It's important to solve the right problem. If the completed model can't answer relevant questions, the
project may be judged a failure even though the model was "correct." You may need to revisit this step later
(especially after Steps 2 and 3) to ensure that the model focus is still on target.
Step 2: Understand the system
After determining the problem to be solved, the next step is to gain a thorough understanding of the system
or facility being simulated. "You can't model what you don't understand" is a simple axiom, but it is often
ignored by first time modelers in their rush to construct a "baseline" model. The importance of this point
cannot be overstressed.
Start with a tour of the facility. If the system is a "greenfield design" (e.g. the system does not exist), tour a
similar facility, then conduct a thorough review of the facility layout or design drawings with someone
responsible for the design. List the system components: machines, storage locations, buffer or queue
locations and their sizes, tool locations, critical resources, material handling units, machine operators,
robots, and maintenance operators. Develop an understanding of the operational characteristics of the
facility, such as processing logic, scheduling rules, operating schedules and breaks, interaction between
processing, and material handling. Talk with supervisors or operators. Ask questions. Make notes and later
summarize them in a Description of Operations document for the system. If possible, ask facility
supervisors to review and comment on the document. We say "supervisors" since no one person
understands the entire system.
After the facility tour, get CAD drawings of the system. These will help in understanding the system and in
framing the questions to be answered. Also, they can be used as a basis for developing an animation for the
model.
Finally, apply common sense: Do you have a sufficient understanding of all aspects of the system relevant
to answering the key questions? Can you define a "paper" model design that will address each question? for
example, if a questions related to order completion time in a distribution center, but the order release and
batching logic is not completely understood, then you have more homework to do before proceeding.
Step 3: Determine your goals and objectives
Once you have gained an understanding of the system to be simulated, the next step is to plan the
simulation project. Start with setting explicit goals and objectives for the project. This is very closely
related to determining which questions the model must answer; and you may need to repeat these two steps
until they are consistent and accepted by management. Your goal as a modeler should be to limit the size
and scope of the model to only what is required to address the project objectives and answer the key
questions. As with other computer applications, the effort required to build and validate a model grows
exponentially with the requirements!
Begin with deciding what scenario(s) are to be simulated e.g., a peak demand day, or an average day with
no exceptional conditions, or a third shift at the end of the month. Obtain the normal operating cycles of the
facility so that you can determine the period or length of time to be included for each scenario. For
instance, if your objective is to determine capacity requirements for peak demand (a typical simulation
requirement), then you need to learn from historical data which is the busiest day and limit the data
collection effort (Step 8). Additional scenarios can be specified, but be aware that each new scenario will
require a careful review of the model capabilities and scope, and possibly a new input data set.
Next, determine what evaluation criteria will be used when analyzing the model results. What are the key
measures of performance? what resolution is required in order to be useful to management? Again, separate
these into required and desirable categories–some measures may require significant additional model
complexity, and may not be necessary!
Finally, summarize the project objectives in writing and have them reviewed by all involved with the
project. Be certain that all involved are in agreement. If not, stop now and resolve the different expectations
or you risk the model credibility and–ultimately–later project success.
Step 4: Learn the basics
Although it is advisable to complete this step before undertaking a specific simulation project, many
people find it easier to complete if they are motivated by a real problem they must solve. This might be
called "just-in-time learning."
If you are one of these, then be sure to leave time in your project schedule to allow completion of this step.
There are several ways of going about this task. You could obtain and study one (or more) of the many
texts available. You could attend the introductory tutorials at the annual Winter Simulation conference
usually held during the second full week of December. You could take a one-to three-day public short
course offered through IIE or several universities. If there are several people in the firm who need to learn
the basics, it may be more economical to arrange an on-site short course. We recommend that you start
with attending a short course, or if possible, the tutorials at the Winter Simulation Conference. Follow this
up with studying one of the texts and additional readings fro one of the professional journals featuring
simulation articles, such as IIE Solutions.
Step 5: Confirm that simulation is the right tool
Once you have completed the first four steps, you should pause before proceeding and ask "Is simulation
the right tool to solve this problem?" There are other tools available, perhaps less expensive or quicker to
apply. These might include a static spreadsheet "model" or "closed form" analytical solutions using some
form of mathematical programming. From a practical standpoint, simulation models do not provide optimal
solutions–they simply report on system performance for a set of conditions that the user inputs. The user
must "guide" the simulation experiments and analysis to obtain an acceptable solution or answer.
Key attributes of a problem that would rule out the use of these other solution techniques include complex
system interactions, and system dynamics. Complex interactions between system components are difficult
to represent in a constraint-based set of equations necessary for a mathematical programming solution.
System elements that interact and change over time–and whose time variant behaviors are important to
capture–are difficult to represent in a spreadsheet or other static solution technique (which generally
provide only average values to solution measures).
If you are not sure about which solution technique to use, consider engaging a consultant to help you
determine the answer.
Step 6: Attain support from management
This is another step that seems obvious, but is often overlooked in the rush to get a project moving forward.
You must obtain clear support from management at the beginning of the project, or management will be
reluctant to accept the results. (If the results are not used, the simulation project will be deemed a failure.)
A key component of this step is education. Management in most companies has little or no experience with
simulation modeling. Many managers will have very unrealistic expectations regarding the process, usually
relating to the project schedule and model scope or capabilities. The first task in obtaining support from
management is to help them understand the process and establish reasonable expectations for the project.
Begin with an overview meeting to review the project goals and objectives, time frame, model scope,
questions that will be answered, and measures of performance to be used. Provide background information
on the process.. Discuss what models can and cannot do. A helpful technique is to review the highlights of
a similar project at another company–what was learned, how long it took, and any management comments
about the project that are appropriate.
Hold regular, but short meetings to keep management informed of the progress. For those managers who
are not available for a meeting, circulate a memo summarizing the key topics. When the model is
completed and verified, include management in the analysis process–make them part of the discovery and
decision process. Having sat through some of these sessions, they will gain insight into the process, and
understand and share in "ownership: of the results.
Attaining management support is a continuing requirement–it doesn't happen just once (e.g. at the
beginning of the project). In theory, simulation models are built to answer difficult questions–questions in
which management may have keen interests. The more involved managers are, the more they will
appreciate the process and learn from the project.
Step 7: Learn about software tools for simulation
Making a choice from the vast amount of software that is available for discrete-event simulation is
bewildering for the newcomer to the field. We suggest that you proceed with this step in an orderly fashion
by narrowing your search to only a few of the more than 50 products that were mentioned in the 1996
Simulation Buyer's Guide in the May issue of IIE Solutions. Narrow your search by asking such questions
as the following: Do we want specialized manufacturing software, or do we want a simulation language?
Do we want software for scheduling or do we want software for process control? Do we need animation,
and if so, does it need to be 3-D? Are material handling constructs important, or can we assume these are
just time delays?
Once you have narrowed the search to about five software products using the questions above, and others
appropriate to your situation, then concentrate on considerations pertaining to input capabilities, processing
capabilities, output capabilities, the simulation environment, the support, and the cost. Each of these
considerations raises numerous issues, too many for us to tackle in such a short space. We do want to offer
these suggestions, however:
Accuracy and detail may be extremely important Powerful capabilities can make for simulation modeler
productivity increases. Get the greatest speed that you can afford, because the greater expense is the
modeler's waiting time. Beware of fancy ads and demos that do not really inform the potential buyer of
software capabilities. Beware of checklists; go beyond the 'yes' or 'no' check mark. Implementation and
capability is what is important.
The bottom line question is, "Which simulation modeling tool is the right one?" When purchasing the
software, it's a good idea to do the following:
Have simulation vendors solve a small version of your problem. Seek references that can attest to the
software's capabilities and limitations. Seek the opinion of consultants who use several products. Seek the
opinions of companies with similar applications. Attend user group meetings and annual symposia. Visit
with the vendors at the Winter Simulation Conference or other similar events Take training courses in
using the software.
Step 8: Determine what data is needed and what is available
There are several types of data that are used in simulation. These include time-based data such as
interarrival times, demand rates, loading times, unloading times, processing times, time to fail, time to
repair, and travel times. Other types of data used in simulation include fraction failing inspection, fraction
requiring each machine, and fraction of each part type.
Data problems occur when we have small samples, summary data (for example, the mean only), qualitative
data, guesstimates (estimates that are only guesses), and data in the wrong format (for example, last year's
data instead of this year's data or ordering rather than shipping data).
Data sources include direct observations, data from time studies and history, and automated data.
However, automated data may be flawed (Is the machine idle because it is down, or has the operator gone
to lunch?) Sometimes, data from similar systems may be used. But, inferences from such a source may be
risky.
Another data source is operator estimates. But, these are highly suspect because humans are such poor
estimators. They forget the extremes and emphasize the present.
Vendor claims or specifications are another source. However, these can be highly optimistic (i.e., the
reliability of the system can be grossly over estimated).
It is often the case that no data exists. Consider a system that is in the design phase (the system does not
exist). Another possibility is when improper data have been collected.
There are techniques that may be used when no data or insufficient data exist. For example, if the
underlying process is truly random, under certain general conditions, an exponential distribution can result.
Step 9: Develop assumptions about the problem
A major concern is the successful accomplishment of this step, for numerous reasons. For example, the
assumptions include the appropriate system boundary. If the boundary is too big, additional time and
expense will be encountered in completing the simulation. If the boundary is too small, the questions that
are asked of the simulation may not be answered. Similarly, the complexity of the simulation model should
be determined. The complexity should be sufficient to answer the questions that are asked, but not more
than that.
From another standpoint, the assumptions are important at the end of the simulation. It is an unenviable
position to be hit with criticism at the end of the simulation that the wrong problem has been solved. Such
criticism can be halted by pointing to the assumptions that were agreed upon the outset of the project.
The best situation is to have complete agreement of the assumptions and to verify that the assumptions are
valid as the simulation progresses. In case of a difference of opinion, it may be necessary to negotiate an
extension in time or resources to complete the simulation.
Step 10: Determine the outputs needed to solve the stated problem
There are many possible outputs including throughput, makespan, WIP, utilization, process time, number
of jobs late, and the time that jobs are late to mention just a few. These can be presented as questions to be
answered as follows:
Will the system meet throughput requirements? What happens to response time at peak periods? What is
the recovery time when short-term surges cause congestion and queuing? What is the system capacity? If
problems occur, what is their cause?
But, the purpose is understanding, not numbers. Furthermore, this understanding involves statistical
considerations. Many people are uncomfortable with the statistical aspects of simulation. Perhaps, they
never took a course in engineering statistics, hypothesis testing, or whatever name is appropriate. Perhaps,
they took the course long ago and have forgotten the principles. Perhaps, they took the course but did not
really understand the meaning behind all of the equations. Whatever the case, there is output analysis
capability built into many simulation software packages. There are also add-on packages that can be
purchased for specific software. Another option is software that analyzes simulation output.
Whichever technique is used requires understanding. And, there are lots of aids to this understanding built
into simulation software.
Step 11: Simulation will be conducted internally or externally?
Actually, there are a number of combinations for conducting a simulation. The simulation could be
conducted internally, externally, or via some combination of the two.
For first-time users, conducting the simulation internally may be unwise. There are too many decisions that
have to be made, and they could be wrong. Having a consultant perform that initial simulation might be
useful to indicate the appropriate application of the technology. The firm can learn by interaction and
osmosis. Another possibility is to have a consultant work with the firm for that first application of the
technology. A variation of this is the "jump start." The consultant helps get the project going, then turns
over the reins to the internal group.
For infrequent users, consideration must be given to the time for relearning. For example, if simulation is
used once per year for three months, the not used for nine months, then the analyst (if it is the same person)
must relearn the software (or different software) every year. Additionally, the same software does change
as a function of later versions. Consider the case where there is a short deadline for the completion of the
simulation. Spending time in relearning subtracts from the time available to the simulation activity. A
consultant can certainly prove valuable in this case.
For frequent users of simulation, an internal group can be formed. The internal group can be enhanced
with the service of consultants if the demand is great, or when there are deadlines to be met.
Step 12: Kickoff the project
Some points to consider for the formal kickoff meeting are the following:
Agenda should have small chunks for topics. The kickoff meeting should be upbeat, fast moving, and
maintain the interest of the firm. Show milestones. There should be many milestones. This is useful in
keeping the decision makers involved in the problem solution. If they maintain their involvement, there is a
much greater probability of implementation at project completion. Plan for much interaction. Not only
should interaction be anticipated, it should be encouraged. This insures continued interest by the decision
makers.
Respond to concerns and objections. This shows that there is interest in what decision makers and others
not on the simulation team have to say. Also, there may be some very good points in the concerns and
objections. Great care must be taken not to alienate the decision makers and others not on the simulation
team. Be realistic. If there is any intention of completing more than one simulation project, follow this
point. Wild promises of what can be accomplished and how quickly and cheaply they can be accomplished
can prove to be the undoing of a simulation project. Finish strongly. The end of the kickoff meeting should
be a resolve that all persons in attendance are in this together. And, that all persons are going to give what
is needed to make for success.
For further reading:
Banks, J. [1996] "Output Analysis Capabilities of Simulation Software," Simulation, Vol. 66, No. 1, 1996
Musselman, K. , "Guidelines for Simulation Project Success, " Proceedings of the 1994 Winter Simulation
Conference, ed. J.D. Tew, S. Manivannan, D.A. Sadowski, A.F. Seila, 1994.
Nordgren, W.B. [1995] "Steps for Proper Simulation Project Management," Proceedings of the 1995
Winter Simulation Conference, ed. C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman, 1995.
Robinson, S., and V. Bhatia [1995] "Secrets of Successful Simulation Projects," Proceedings of the 1995
Winter Simulation Conference, ed. C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman, 1995.
Download