# MODELING & SIMULATION.docx

STUDENT à FREELANCER
24 May 2022
1 sur 18

### MODELING & SIMULATION.docx

• 1. 1 MODELING & SIMULATION BY JAMEEL AHMED
• 2. 2 CONTENT S no: TOPICS PAGE no: 01 Introduction 03 02 Classification of system 04 03 Simulation model level 07 04 Principle of simulation system design 09 05 Methodology of model building 11 06 Simulation experimental control 13 07 Model of heterogeneous system 14 08 Cellular automata and simulation 15 09 Checking model validity and verifications of model 16 10 Analysis ofsimulation results 17 11 Fuzzy set theory 18
• 3. 3 INTRODUCTION In Modelling & 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. 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 this tutorial, we will discuss the concept and classification of Modelling & Simulation, their architecture, application areas, and other key ideas. 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. 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. 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.ws  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 Induce experimental conditions on the model and observe the result.
• 4. 4 CLASSIFICATION OF SYSTEM It is useful to classify the system being simulated into two separate categories depending upon the degree of randomness associated with the behavior of the system in its simulated environment. For example, consider a simulated system consisting of a series of bank tellers who must provide transaction services to incoming customers. The length of time required for a teller to process a customer's transaction cannot usually be predetermined before the simulation is started. Consequently such a simulation system must introduce random behavior to simulate the duration of each transaction. During the analysis of a real world banking system it may be discovered that the time required for a transaction occurs over some well-known probability distribution. Hence the duration of each transaction may be generated from this distribution. A similar strategy may be adopted for the rate at which customers enter a bank. Through the introduction of this randomness, the results of a simulation may never be the same as a previous simulation. A system, such as this one, that relies heavily upon random behavior is referred to as a stochastic system. The results generated from a stochastic system are typically analyzed statistically in order to make conclusions regarding the behavior of the system. Conversely, a deterministic simulation system incorporates absolutely no random behavior whatsoever. As such, the simulation results for a given set of inputs will always be identical. Simulations involving circuit behavior are examples of deterministic systems. Supplying high signals to both inputs of a 2-input NAND gate will always produce a low signal on the gate's output, regardless of where the gate is located in the circuit's design hierarchy or when the inputs are received by the gate. In the context of circuit simulation, deterministic simulation is used to verify that a particular circuit design is behaving as expected -- when the circuit is supplied with a given set of inputs, the circuit produces the expected outputs at the correct time. Although this report will focus primarily upon deterministic simulation systems, stochastic systems can also be simulated with modest modifications to the implementation. Figure 1 Classification of system
• 5. 5 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. Figure 2 Figure 3
• 6. 6  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. Figure 4 Modelling Process
• 7. 7 SIMULATION MODEL LEVEL  Simulation models Simulation models are used in a variety of interrelated ways across research, policy, and educational contexts. At their simplest, simulations can explain a system and examine how the system will look in the future or times past, or in many possible futures or pasts. They also support human decision-making, especially in systems that are too complicated for any one person to easily understand. The process of simulation can also help elucidate new information by making clear what the modeler does and does not know. Finally, simulation is increasingly used in education and entertainment. Simulation is one way to understand and explain the underlying processes ofagiven pattern in a system or the potential patterns associated with processes in a system. While some critics of simulation see it merely as a way of encoding existing knowledge, the ability ofa simulation to link together data and theory aboutmultiple system components actually allows it to generate better explanations. Simulations of the global climate system or transportation networks, for example, combine the research and data from multiple scientific and policy domains to create a better understanding of how these systems work. Simulations are used to predict aspects of the future state of a system when the simulations can adequately capture some of its underlying processes. Simulation models are regularly used to project the complex properties of human systems such as populations, cities, or economies. In an urban setting, for example, modelers can use socioeconomic predictions to answer questions like how many schools to build in a city or where to route transportation and infrastructure to minimize future ecological harm. Figure 5 Simulation models
• 8. 8  System-level simulation (SLS) is a collection of practical methods used in the field of systems engineering, in order to simulate, with a computer, the global behavior of large cyber-physical systems. Cyber-physical systems (CPS) are systems composed of physical entities regulated by computational elements (e.g. electronic controllers). System-level simulation is mainly characterized by:  a level of detail adapted to the practical simulation of large and complex cyber-physical systems (e.g. plants, aircraft, industrial facilities)  the possibility to use the simulation even if the system is not fully specified, i.e. simulation does not necessarily require a detailed knowledge of each part of the system. This makes it possible to use the simulation for conception or study phases, even at an early stage in this process These two characteristics have several implications in terms of modeling choices (see further). System-level simulation has some other characteristics, that it shares with CPS simulation in general:  SLS involves multi-physics models (thermo-fluidic, mechanical, electrical, etc.)  SLS is frequently cross-disciplinary,[1] i.e. it is frequently the result of a collaboration between people with different expertise  SLS is generally built upon a hierarchy of models; an organized modeling is usually necessary to make the whole model enviable; the conceptual decomposition of the system into sub- systems is related to the notion of system of systems SLS is mainly about computing the evolution over time of the physical quantities that characterize the system of interest, but other aspects can be added like failure modeling or requirement verification. As multi-level-simulations examine different layers of abstraction, a synchronization between their states has to be performed. For example, the results of a detailed simulation have to be fed into higher levels of abstraction. Presently, there are no satisfying solutions for this complex problem as the state of the art is to manually define the state mappings, severely limiting the area of application for multi-level-simulations. The approach of this project is to employ machine learning for automatically generating the interfaces instead. The second important problem is the computational complexity. Often, even parts of a simulation take multiple days to finish on a workstation computer. To achieve the goal of multi-level- simulations to model components of a complex system in detail and on demand, the necessary compute resources have to be provisioned elastically. To account for this, we will employ technologies from Cloud Computing in this project to dynamically scale the resources to the needs of the simulation. The goal of this project is the development of a platform for multi-level-simulations that is able to automatically create the interfaces between different abstraction layers and which dynamically
• 9. 9 allocates compute resources, so that the user can fully utilize the capabilities of multi-level- simulations. The Simulation Level The simulation level is simply a set of Python-interfaces to solvers in C/C++ and FORTRAN, which need to be able to return sensitivities regarding the decision variables u. Seeing that the simulation is the time-sensitive step during the chance-constrained MINLP optimization, the actual equations should always be implemented in the same language as the simulation solver. For the purpose of this work a C++ frontend to the NLEQ1s solver (Nowak and Weimann, 1991) has been implemented, which uses the Eigen3 template library (Guennebaud et al., 2010) to compute the required sensitivities in a sparse way. Hence, the model equations also need to be supplied in C++. PRINCIPLE OF SIMULATION SYSTEM DESIGN Design (analysis and synthesis) applies the laws of basic science and mathematics. Ideally, simulation models would be constructed and used for system design and improvement based on similar laws or principles. The following are some general principles that have been found to be helpful in conceiving and performing simulation projects, though derivation from basic scientific laws or rigorous experimental testing is lacking for most of them. 1. One view of the process of building a simulation model and applying it to system design and improvement is given in Figure Figure 6
• 10. 10 1. A mathematical-logical form of an existing or proposed system, called a simulation model, is constructed (art). Experiments are conducted with the model that generates numerical results (science). The model and experimental results are interpreted to draw conclusions about the system (art). The conclusions are implemented in the system (science and art). 2. Simulation models emphasize the direct representation of the structure and logic of a system as opposed to abstracting the system into a strictly mathematical form. The availability of system descriptions and data influences the choice of simulation model parameters as well as which system objects and which of their attributes can be included in the model. Thus, simulation models are analytically intractable, that is exact values of quantities that measure system performance cannot be derived from the model by mathematical analysis. Instead, such inferencing is accomplished by experimental procedures that result in statistical estimates of values of interest. Simulation experiments must be designed as would any laboratory or field experiment. Proper statistical methods must be used in observing performance measure values and in interpreting experimental results. 3. Computer simulation models can be implemented and experiments conducted at a fraction of the cost of the P-D-C-A cycle of lean used to improve the future state to reach operational performance objectives. Simulation models are more flexible and adaptable to changing requirements than P-D-C-A. Alternatives can be assessed without the fear that negative consequences will damage day-to-day operations. Thus, a great variety of options can be considered at a small cost and with little risk. 4. "Garbage in - garbage out" applies to models and their input parameter values (Sargent, 2009). A model must accurately represent a system and data used to estimate model input parameter values must by correctly collected and statistically analyzed. This is illustrated in Figure Figure 7
• 11. 11 METHODOLOGY OF MODEL BUILDING  The Basic Steps ofa Simulation Study The application of simulation involves specific steps in order for the simulation study to be successful. Regardless of the type of problem and the objective of the study, the process by which the simulation is performed remains constant. The following briefly describes the basic steps in the simulation process [6, 7]: 1. Problem Definition The initial step involves defining the goals of the study and determing what needs to be solved. The problem is further defined through objective observations of the process to be studied. Care should be taken to determine if simulation is the appropriate tool for the problem under investigation. 2. Project Planning The tasks for completing the project are broken down into work packages with a responsible party assigned to each package. Milestones are indicated for tracking progress. This schedule is necessary to determine if sufficient time and resources are available for completion. 3. System Definition This step involves identifying the system components to be modeled and the preformance measures to be analyzed. Often the system is very complex, thus defining the system requires an experienced simulator who can find the appropriate level of detail and flexibility. 4. Model Formulation Understanding how the actual system behaves and determining the basic requirements of the model are necessary in developing the right model. Creating a flow chart of how the system operates facilitates the understanding of what variables are involved and how these variables interact. 5. Input Data Collection & Analysis After formulating the model, the type of data to collect is determined. New data is collected and/or existing data is gathered. Data is fitted to theoretical distributions. For example, the arrival rate of a specific part to the manufacturing plant may follow a normal distribution curve. 6. Model Translation The model is translated into programming language. Choices range from general purpose languages such as fortran or simulation programs such as Arena. 7. Verification & Validation Verification is the process of ensuring that the model behaves as intended, usually by debugging or through animation. Verification is necessary but not sufficient for validation, that is a model may be verified but not valid. Validation ensures that no significant difference exists between the model and the real system and that the model reflects reality. Validation can be achieved through statistical analysis. Additionally, face validity may be obtained by having the model reviewed and supported by an expert. 8. Experimentation & Analysis Experimentation involves developing the alternative model(s), executing the simulation
• 12. 12 runs, and statistically comparing the alternative(s) system performance with that of the real system. 9. Documentation & Implementation Documentation consists of the written report and/or presentation. The results and implications of the study are discussed. The best course of action is identified, recommended, and justified. Figure 8
• 13. 13 SIMULATION EXPERIMENTAL CONTROL Simulation experiments can build on a simulation toolbox, such as the ASM, to systematically investigate different configurations of a model (eg. a process model) and identify those configurations which create desirable combinations of performance variables. To prepare a model to run simulation experiments A model must be appropriately configured to run simulation experiments. Essentially, the model must be configured to denote certain variables as inputs `Independent variables` and others as outputs `Dependent variables`. The model is then treated as a black box in which the inputs can be varied to determine the effect on the outputs. 1. Create a simulation model, eg. using the ASM toolbox 2. Identify the independent variables - ie. things that could be changed to alter the system behavior. (these might, for instance, include numbers of iterations for an ASM process simulation). Use CAM variables to represent these, and in the "Variable properties" dialog, under the "Experimentation" tab, ensure that the "Independent variable" option is ticked. 3. Define the behavior of the model in terms of those variables, eg. using task properties dialog in an ASM model. 4. Identify the dependent variables - ie. things that measure the performance of the system. For instance, cost of the process. In the "Variable properties" dialog, under the "Experimentation" tab, ensure that the "Dependent variable" option is ticked. 5. Write the dependent variables into the simulation model, so that their final values are set by the end of each simulation run to measure the 'performance' of that run. To configure and run the experiments 1. Use the "Simulation experiment" option under the "analysis" menu of the main CAM application menu bar to configure and run a simulation experiment. You can choose between a full-factorial design (in which all independent variables are varied in a certain number of steps within a given range) or you can upload a custom design from Excel. 2. Results are created as a special kind of dataset, and displayed by default as a parallel co- ordinate chart 3. Use the 'Selection' sliders on each of the parallel co-ordinate axes to explore the dataset visually, or for other visualizations of the results, use the inbuilt charting functionality. 4. You can easily export the results to Excel using the CSV button on the top toolbar of the parallel co-ordinate chart.
• 14. 14 MODEL OF HETEROGENEOUS SYSTEM This analysis can be considered an inventory of the current terminology used to define heterogeneous systems. First, basic elements of heterogeneous systems are defined. These basic definitions are then followed by a comparative study of two other closely linked concepts: models of computation and models of execution. 1. System The term system refers to an entity composed of a set of interconnected hierarchical modules that communicate with their environment through well-defined interfaces. 2. Module A module is an entity that communicates through a well-defined interface with a fixed, external environment. A module is composed of contents and an interface. The module interface is connected to a communication network. A module may be elementary or hierarchical. An elementary module represents a leaf in 3. Interface An interface refers to a set of access points which allow modules to interact with both the environment and the remainder of the system. The interface description may be more or less detailed. Depending on the level of abstraction, such details should include information about how components can be accessed and how such components may access the remainder of the system. The interface is seen differently throughout various abstraction levels. It may be described by some circuit pins, some other C function parameters or some procedures implemented within the modules. In the latter case, we are in the presence of an API (application programming interface). An interface is defined as a set of ports and/or services depending on the manner in which components are accessed:
• 15. 15 CELLULAR AUTOMATA AND SIMULATION Cellular automata are dynamical systems where space, time, and variables are discrete. They are shown on two-dimensional examples to be capable of non-numerical simulations of physics. They are useful for faithful parallel processing of lattice models. At another level, they exhibit behaviors and illustrate concepts that are unmistakably physical, such as non-ergodicity and order parameters, frustration, relaxation to chaos through period doublings, a conspicuous arrow of time in reversible microscopic dynamics, causality and light-cone, and non-reparability. In general, they constitute exactly computable models for complex phenomena and large-scale correlations that result from very simple short-range interactions. We study their space, time, and intrinsic symmetries and the corresponding conservation laws, with an emphasis on the conservation of information obeyed by reversible cellular automata. The available hardware resources [56] for the simulation of cellular automata can also find most natural applications to those areas of physics where the discretization of space, rather than being an artefact of a numerical simulation, is a feature of the physical system itself (e.g., crystals, for their lattice-vibration independent properties), or has already been made an integral part of an established theoretical model (e.g., lattice-gauge field theories and lattice-gas molecular dynamics). The models of statistical mechanics that involve a regular lattice with local interactions between sites are begging for cellular-automaton simulations. The analogy is particularly faithful for dynamical models. In fact, a wealth of numerical results in the study of percolation [14], nucleation, condensation, coagulation [6] and transport properties in molecular dynamics [49] are obtained by simulating on a general purpose computer the time evolution of systems that are actually instances of simple cellular automata or immediate generalizations of cellular automata*. Cellular automaton machines are of course particularly appropriate for the treatment of these models (provided that the effects of the two other Figure 9 CELLULAR AUTOMATA AND SIMULATION
• 16. 16 CHECKING MODEL VALIDITY AND VERIFICATIONS OF MODEL  Verification In the context of computer simulation, verification of a model is the process of confirming that it is correctly implemented with respect to the conceptual model (it matches specifications and assumptions deemed acceptable for the given purpose of application). During verification the model is tested to find and fix errors in the implementation of the model. Various processes and techniques are used to assure the model matches specifications and assumptions with respect to the model concept. The objective of model verification is to ensure that the implementation of the model is correct. There are many techniques that can be utilized to verify a model. These include, but are not limited to, having the model checked by an expert, making logic flow diagrams that include each logically possible action, examining the model output for reasonableness under a variety of settings of the input parameters, and using an interactive debugger. Many software engineering techniques used for software verification are applicable to simulation model verification.  Validation Assumptions made about a model generally fall into two categories: structural assumptions about how system works and data assumptions. Also we can consider the simplification assumptions that are those that we use to simplify the reality. The model is viewed as an input-output transformation for these tests. The validation test consists of comparing outputs from the system under consideration to model outputs for the same set of input conditions. Data recorded while observing the system must be available in order to perform this test. The model output that is of primary interest should be used as the measure of performance. Figure 10 CHECKING MODEL VALIDITY AND VERIFICATIONS OF MODEL
• 17. 17 ANALYSIS OF SIMULATION RESULTS In simulation, we create a mathematical model of a system or process, usually on a computer, and we explore the behavior of the model by running a simulation. A simulation consists of many -- often thousands of -- trials. Each trial is an experiment where we supply numerical values for input variables, evaluate the model to compute numerical values for outcomes of interest, and collect these values for later analysis.  Charts and Graphs  Statistical Measures  Sensitivity Analysis  Parameterized Simulation Charts and Graphs A simulation yields many possible values for the outcomes we care about -- from Net Profit to environmental impact. The role of simulation analysis is to summarize and analyze the results, in a way that will yield maximum insight and help with decision-making. It is very useful to create charts to help us visualize the results -- such as frequency charts and cumulative frequency charts. Figure 11 ANALYSIS OF SIMULATION RESULTS
• 18. 18 FUZZY SET THEORY Fuzzy sets can be considered as an extension and gross oversimplification of classical sets. It can be best understood in the context of set membership. Basically it allows partial membership which means that it contain elements that have varying degrees of membership in the set. From this, we can understand the difference between classical set and fuzzy set. Classical set contains elements that satisfy precise properties of membership while fuzzy set contains elements that satisfy imprecise properties of membership.  Mathematical Concept A fuzzy set A˜A~ in the universe of information UU can be defined as a set of ordered pairs and it can be represented mathematically as − Figure 12 Figure 13