Simulation of a system is the operation of a model in terms of time or space, which helps analyze the performance of an existing or a proposed system. In other words, simulation is the process of using a model to study the performance of a system. It is an act of using a model for simulation.
Modelling is the process of representing a model which includes its construction and working. This model is similar to a real system, which helps the analyst predict the effect of changes to the system. In other words, modelling is creating a model which represents a system including their properties. It is an act of building a model.
Developing Simulation Models
Simulation models consist of the following components: system entities, input variables, performance measures, and functional relationships. Following are the steps to develop a simulation model.
Step 1 − Identify the problem with an existing system or set requirements of a proposed system.
Step 2 − Design the problem while taking care of the existing system factors and limitations.
Step 3 − Collect and start processing the system data, observing its performance and result.
Step 4 − Develop the model using network diagrams and verify it using various verifications techniques.
Step 5 − Validate the model by comparing its performance under various conditions with the real system.
Step 6 − Create a document of the model for future use, which includes objectives, assumptions, input variables and performance in detail.
Step 7 − Select an appropriate experimental design as per requirement.
Step 8 – Bring on experimental conditions on the model and observe the result.
Performing Simulation Analysis
Following are the steps to perform simulation analysis.
Step 1 − Prepare a problem statement.
Step 2 − Choose input variables and create entities for the simulation process. There are two types of variables - decision variables and uncontrollable variables. Decision variables are controlled by the programmer, whereas uncontrollable variables are the random variables.
Step 3 − Create constraints on the decision variables by assigning it to the simulation process.
Step 4 − Determine the output variables.
Step 5 − Collect data from the real-life system to input into the simulation.
Step 6 − Develop a flowchart showing the progress of the simulation process.
Step 7 − Choose an appropriate simulation software to run the model.
Step 8 − Verify the simulation model by comparing its result with the real-time system.
Step 9 − Perform an experiment on the model by changing the variable values to find the best solution.
Step 10 − Finally, apply these results into the real-time system.
What are the advantages and disadvantages of Simulation and Modeling?
Following are the advantages of using Modelling and Simulation −
· Easy to understand − Allows to understand how the system really operates without working on real-time systems.
· Easy to test − Allows to make changes into the system and their effect on the output without working on real-time systems.
· Easy to upgrade − Allows to determine the system requirements by applying different configurations.
· Easy to identifying constraints − Allows to perform bottleneck analysis that causes delay in the work process, information, etc.
· Easy to diagnose problems − Certain systems are so complex that it is not easy to understand their interaction at a time. However, Modelling & Simulation allows to understand all the interactions and analyze their effect. Additionally, new policies, operations, and procedures can be explored without affecting the real system.
Following are the disadvantages of using Modelling and Simulation −
· Designing a model is an art which requires domain knowledge, training and experience.
· Operations are performed on the system using random number, hence difficult to predict the result.
· Simulation requires manpower and it is a time-consuming process.
· Simulation results are difficult to translate. It requires experts to understand.
· Simulation process is expensive.
Classification of Models
A system can be classified into the following categories.
· Discrete-Event Simulation Model − In this model, the state variable values change only at some discrete points in time where the events occur. Events will only occur at the defined activity time and delays.
· Stochastic vs. Deterministic Systems − Stochastic systems are not affected by randomness and their output is not a random variable, whereas deterministic systems are affected by randomness and their output is a random variable.
· Static vs. Dynamic Simulation − Static simulation include models which are not affected with time. For example: Monte Carlo Model. Dynamic Simulation include models which are affected with time.
· Discrete vs. Continuous Systems − Discrete system is affected by the state variable changes at a discrete point of time. Its behavior is depicted in the following graphical representation. Continuous system is affected by the state variable, which changes continuously as a function with time. Its behavior is depicted in the following graphical representation.
Models & Events
Following are the basic concepts of Modelling & Simulation.
· Object is an entity which exists in the real world to study the behavior of a model.
· Base Model is a hypothetical explanation of object properties and its behavior, which is valid across the model.
· System is the articulate object under definite conditions, which exists in the real world.
· Experimental Frame is used to study a system in the real world, such as experimental conditions, aspects, objectives, etc. Basic Experimental Frame consists of two sets of variables − the Frame Input Variables & the Frame Output Variables, which matches the system or model terminals. The Frame input variable is responsible for matching the inputs applied to the system or a model. The Frame output variable is responsible for matching the output values to the system or a model.
· Lumped Model is an exact explanation of a system which follows the specified conditions of a given Experimental Frame.
· Verification is the process of comparing two or more items to ensure their accuracy. In Modelling & Simulation, verification can be done by comparing the consistency of a simulation program and the lumped model to ensure their performance. There are various ways to perform validation process, which we will cover in a separate chapter.
· Validation is the process of comparing two results. In Modelling & Simulation, validation is performed by comparing experiment measurements with the simulation results within the context of an Experimental Frame. The model is invalid, if the results mismatch. There are various ways to perform validation process, which we will cover in separate chapter.
System State Variables
The system state variables are a set of data, required to define the internal process within the system at a given point of time.
· In a discrete-event model, the system state variables remain constant over intervals of time and the values change at defined points called event times.
· In continuous-event model, the system state variables are defined by differential equation results whose value changes continuously over time.
Following are some of the system state variables −
· Entities & Attributes − An entity represents an object whose value can be static or dynamic, depending upon the process with other entities. Attributes are the local values used by the entity.
· Resources − A resource is an entity that provides service to one or more dynamic entities at a time. The dynamic entity can request one or more units of a resource; if accepted then the entity can use the resource and release when completed. If rejected, the entity can join a queue.
· Lists − Lists are used to represent the queues used by the entities and resources. There are various possibilities of queues such as LIFO, FIFO, etc. depending upon the process.
· Delay − It is an indefinite duration that is caused by some combination of system conditions.
Modelling Process
Modelling process includes the following steps.
Step 1 − Examine the problem. In this stage, we must understand the problem and choose its classification accordingly, such as deterministic or stochastic.
Step 2 − Design a model. In this stage, we have to perform the following simple tasks which help us design a model −
· Collect data as per the system behavior and future requirements.
· Analyze the system features, its assumptions and necessary actions to be taken to make the model successful.
· Determine the variable names, functions, its units, relationships, and their applications used in the model.
· Solve the model using a suitable technique and verify the result using verification methods. Next, validate the result.
· Prepare a report which includes results, interpretations, conclusion, and suggestions.
Step 3 − Provide recommendations after completing the entire process related to the model. It includes investment, resources, algorithms, techniques, etc.
Validation and verification are the two steps in any simulation project to validate a model.
· Validation is the process of comparing two results. In this process, we need to compare the representation of a conceptual model to the real system. If the comparison is true, then it is valid, else invalid.
· Verification is the process of comparing two or more results to ensure its accuracy. In this process, we have to compare the model’s implementation and its associated data with the developer's conceptual description and specifications.
Verification & Validation Techniques
There are various techniques used to perform Verification & Validation of Simulation Model. Following are some of the common techniques –
Techniques to Perform Verification of Simulation Model
Following are the ways to perform verification of simulation model −
· By using programming skills to write and debug the program in sub-programs.
· By using “Structured Walk-through” policy in which more than one person is to read the program.
· By tracing the intermediate results and comparing them with observed outcomes.
· By checking the simulation model output using various input combinations.
· By comparing final simulation result with analytic results.
Techniques to Perform Validation of Simulation Model
Step 1 − Design a model with high validity. This can be achieved using the following steps −
The model must be discussed with the system experts while designing.
The model must interact with the client throughout the process.
The output must supervise by system experts.
Step 2 − Test the model at assumptions data. This can be achieved by applying the assumption data into the model and testing it quantitatively. Sensitive analysis can also be performed to observe the effect of change in the result when significant changes are made in the input data.
Step 3 − Determine the representative output of the Simulation model. This can be achieved using the following steps −
· Determine how close is the simulation output with the real system output.
· Comparison can be performed using the Turing Test. It presents the data in the system format, which can be explained by experts only.
· Statistical method can be used for compare the model output with the real system output.
Monte Carlo simulation is a computerized mathematical technique to generate random sample data based on some known distribution for numerical experiments. This method is applied to risk quantitative analysis and decision-making problems. This method is used by the professionals of various profiles such as finance, project management, energy, manufacturing, engineering, research & development, insurance, oil & gas, transportation, etc.
This method was first used by scientists working on the atom bomb in 1940. This method can be used in those situations where we need to make an estimate and uncertain decisions such as weather forecast predictions.
Monte Carlo Simulation ─ Important Characteristics
Following are the three important characteristics of Monte-Carlo method −
Its output must generate random samples.
Its input distribution must be known.
Its result must be known while performing an experiment.
Monte Carlo Simulation ─ Advantages
Easy to implement.
Provides statistical sampling for numerical experiments using the computer.
Provides approximate solution to mathematical problems.
Can be used for both stochastic and deterministic problems.
Monte Carlo Simulation ─ Disadvantages
· Time consuming as there is a need to generate large number of sampling to get the desired output.
· The results of this method are only the approximation of true values, not the exact
Monte Carlo Simulation Method ─ Flow Diagram
The following illustration shows a generalized flowchart of Monte Carlo simulation.