Simulation - Troubleshooting
Most common scenarios
My simulation does not run and I get a dialog titled “Problems (Last Simulation)”
If you have not already read it, please see our Fixing Problems documentation page.My simulation does not make any progress.
It is possible that the ‘communication’ between your browser and the simulation server has a momentary issue. Please wait a moment, and click the ‘refresh’ button on your browser to see if simulation progress updates, or a simulation results window displays.
It is possible your simulation contains an infinite loop. If a case moves in an infinite loop of activities that take no time to complete, the simulation clock will not advance. This can be seen if you run the simulation in Trace mode.

I get a “Websocket connection failed” error
Check if you have a firewall or antivirus that is preventing Websocket connections, and if unsure, please contact your IT department. If you allow Websocket connections and still get this error, contact https://echo.igrafx.com for assistance.
Ideas for making troubleshooting easier
Tracking Cases
It’s hard for me to track the original case when splits occur, or for case logging
You can create a ‘Case’ scope variable, e.g. ‘CaseID’, to hold the value of the original token’s (case) ID. Assign the value on the shape with the Generator to be the value of a Model variable counter that you increment ‘On Enter’ for each token (case) generated. For Example:

This will mean every case has a unique ID, that will remain as the value of your CaseID, even if the token is split. This can also be useful for case log data intended as input for Process Mining, each original instance of the process will have a unique ID as it moves through various Activities, even if parallelism / splits occur.
Resource Utilization Statistics Seem Low
It seems like Utilization is low; I know my people are busier than simulation says.
The simulation can only tell you how utilized a resource is for the time you have it scheduled (though Overtime is possible), and does not account for unmodeled constraints on the resource’s time. So, for example, if any given resource is expected to spend 35% of their time on other processes, then you woudn’t want them more than 65% utilized by this process (unless you want them to work OT and be more than 100% utlized).
There are various ways to account for this. For example, if you expect a given resource (role) to be 35% utilized by other processes, then using one (or more) of the following methods may help:
Track the expected utilization by other processes, and adjust accordingly. For the given example, you should try to keep the utilization in this process at 65% or below (unless you want to assume working Overtime is okay). You may export the report, and do calculations with a spreadsheet.
Adjust the number of resources that you have. For example, if you have a group of 20 people, you effectively have 13 of them available at any given time, as 7 of them will be busy doing other tasks.
Model the ‘interruptions’ from other processes. One way to do this is to have separate processes, with their own generators, consume the resource for the expected amount of time. For example, they have about 3 to 5 meetings for 1 hour, randomly spread throughout their scheduled work week. This is an ‘Interval’ of arrivals of 1 week, BetweenNorm(3,5) cases per arrival, spread randomly (and forced into the active schedule); the ‘interruption case’ introduced would go into an Activity that consumes the resource for 1 hour. Of course, for a 40-hour work week, this would only account for about 10% of the interruptions, so you would have to model other interruptions to get to a desired number such as 35% unavailable for this process due to doing other work.