This article applies to iGrafx Process and iGrafx Process for Six Sigma client tools. Simulation is not yet available via web-authored diagrams.
Our customers sometimes ask what sort of steps or 'roadmap' instructions they should follow in preparing a simulation. The answer ranges from broad methodology across simulation tools, to specific constructs or data needed for the iGrafx discrete event simulator. This article will attempt to provide an overview or roadmap to creating a simulation model. We encourage you to attend an iGrafx training class, and use the Tutorials and Help available with iGrafx, to augment the information in this article.
"Where do I start?"
The general guidelines for executing a simulation project are:
- Establish Objectives and Constraints.
- Gather, Analyze, and Validate Data.
- Build an Accurate Model.
- Conduct Simulations Experiments.
- Document and Present Results.
Simulation projects tend to be an iterative processes, where gathering more data, refining the model further, and performing more analysis (steps 2 to 4 above) may be repeated. Some modeling and simulation projects may have more iteration than others.
Step 1: Establish Objectives and Constraints.
We assume that you can successfully accomplish step 1, narrowing down why you are simulating, and what the specific goals you're trying to accomplish are. In general, however, keep in mind that you want measurable targets; keep your measures to time, cost, resource usage, and quality factors. For example, raising 'customer satisfaction' might involve more timely delivery of product or service at a reduced cost to the customer and the business.
Step 2: Gather, Analyze, and Validate Data.
For step 2, gathering, analyzing, and validating data, the following items are the minimum raw data needed to make a simulation run:
Activity Information (Needed for the shapes, or activities, in the Process):
- Time to perform the activity; which may be a constant (or average), a distributed range of values, or even some powerful expression. This is specified in the Properties of the shape, either on the Process page (in the Guide category), or the Task page. To edit Properties, either double-click the shape, or right-click and choose Properties.
- Resource(s) required to perform the activity. This is specified in the Properties of the shape, on the Resources page. If you need to define a new resource, from the Resources page you may click on the person icon; or go to the Model menu, and choose Resources. This will define 'Scenario' information (general setup beyond the process diagram) that makes the resource available to the diagram(s) in your file.
- Decision percentages for each path when a decision is made. These are specified in the Properties, on the Outputs page. You can use statistical percentages, an expression that you create (often involving 'attributes' that keep data about a transaction or the state of simulation), or on a specific 'available outputs' rule. See the iGrafx Help for more information.
- Any special or business rules (e.g. batch processing) that occur. These would be specified in the Properties, on the detailed Modeling category pages. For example, the Batch command is on the Inputs page, once the 'collect transactions at input' checkbox has been chosen.
General information (Needed to setup the Scenario, the environment that the simulation will run in):
- Run Setup: Provides general simulation setup, such as how long simulation will run, where to write report data, and what schedule should be used by default. This information is entered from the Model menu, using the Run Setup command.
- Generators: Provide data on the incoming arrival of transactions. The Generators specify the number of incoming transactions, and at what rate those transactions arrive into the process. There are several different types of generators that may be used, including "interarrival" (defines the interval between arrivals; e.g. every 15 to 30 minutes), "timetable" (to draw a pattern of arrivals over many spans of time), "demand" (work arrives whenever a resource demands it) and others. From the Model menu, choose Generators. See the Help for more information.
- Resources: Information on what resources are available, by each department, to perform the process. To define or review resource information, from the Model menu, choose Resources. The resulting dialog box will let you specify which resources are defined, what schedules they work, how much they earn per hour, etc.
- Schedules: The definition of which schedules are available; generally for use by Resources, though Generators and even activities may be on a schedule as well. From the Model menu, choose Schedules.
The first 4 items in the list above are useful to gather on an activity-by-activity basis. The last 4 items are general simulation Scenario information. You can either enter this information directly in your model, or capture this information in notes on an iGrafx sheet or spreadsheet or other printout, independent of the activity information.
iGrafx does not have a template that can be used to gather information. However, you can print out tabular view, or export the tabular data to Excel. See the 'Can I export or import modeling data to or from Excel or other file format?' article for more information. You could also use a printout of the tabular view; from the View menu, choose Tabular. You may then customize tabular view from the View menu, with the Columns command, and then print the tabular view.
Step 3: Build an Accurate Model.
Once you have gathered data, enter it into your model. As given above in the data section, you'll need to enter activity (process step) times in each shape that elapses time, indicate what resources are used, etc. You also use the process diagram to control flow, including entering decision criteria, creating parallel paths of execution, synchronizing (joining) parallel paths, gating transactions until conditions are met, and so on. The 'Properties' of each shape (double-click on the shape, or right-click and choose Properties) control the behavior of that shape.
In addition to ensuring that you have entered the data and flow control into the diagram itself, you need to ensure the Scenario data has been entered. Again, as above in the data section, ensure Run Setup has the general simulation setup including time to simulate, any warmup time, control of randomness, maximum concurrent transactions that can be active in the simulation, and so on. Use the Generators to describe the arrival of transactions into the process, the Resources to define what labor or equipment resources are available to your activities, and to define scheduling of resources or activities.
This process may be iterative as well. You may start with the process diagram, enter some basic time or decision data, and then realize you need to define resources to be available, and thus use Scenario data to define further resources and their scheduling. This iterative process of defining diagram and Scenario data continues until you believe your model is complete enough to run simulation. Running simulation relatively early may, in fact, point out areas you need to refine, so you can always come back to this step if needed.
Step 4: Conduct Simulations Experiments.
When you're ready to run simulation, you can do so either in 'Trace' mode, which animates the transactions flowing through the diagram(s), or simply start simulation and let it run as a 'black box' until simulation is complete.
Trace mode provides a debugging environment (to help you ensure your model is working properly), visual analysis (the behavior of the simulation model is shown visually; allowing you to gain insights that no other method can provide), and presentation (trace allows you to share your model and results effectively with others). We recommend you trace your simulation at some point, though tracing the whole simulation run is generally not required, and is much slower than simply running simulation.
The report window is automatically displayed when simulation completes successfully, or you may view the report window directly. The Report is where simulation results are accumulated. The Report window is structured with 5 categories of statistics. Each category is a page in the Report window, accessed via the tabs at the top of the report. The categories are:
- Time. Time statistics such as cycle time, working time, etc. are reported.
- Cost. Cost statistics such as average cost, use costs, etc. are reported.
- Resource. Resource statistics such as utilization percentage, busy time, etc. are reported.
- Queue. Queuing or ‘bottleneck’ statistics such as number of transactions waiting are reported.
- Custom. This starts as a blank ‘scratchpad’ to copy to, or to create your own statistics in.
Each of the first four tabs has built-in statistics. The statistics are in the form of a Report Element. A Report Element is, by default, a table of data with a header, and can be changed to a graphical report. To edit a report element, double-click on it and change the settings in the tabs; see the built-in iGrafx Help for more information.
If the report results are not matching your real-life process, or do not yet give you enough information, you may need to iterate on prior steps to refine the data, or perform simulation in trace mode to debug some element of your simulation model that is incorrect. Remember that statistical analysis is not a precise measurement; most statisticians are comfortable with a 5% to 10% variation in results.
Step 5: Document and Present Results.
Generally, the last step in a simulation project is to make recommendations on how the actual system may be changed to improve performance. The results of simulation may be used to justify the cost and benefits of the improvements.
Keep people informed as you go through the project. Even though you may believe your model is not yet ready to show others, if you present it to them in a draft state, they may be able to inform you where the process or data is not yet accurately described.
Propagate the knowledge and lessons learned about the actual process to the organization.
If the organization decides to move forward with changing the process, the process model and simulation results represent a high level functional specification for the new process.