Unesco - Eolss Sample Chapters: Modeling and Simulation Techniques
Unesco - Eolss Sample Chapters: Modeling and Simulation Techniques
Unesco - Eolss Sample Chapters: Modeling and Simulation Techniques
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
MODELING AND SIMULATION TECHNIQUES
N.N. Olenev
Department of Mathematical Modeling of Economic Systems, Dorodnicyn Computing
Center of the Russian Academy of Sciences, Moscow, Russia.
Keywords: Model design, discrete-event simulation, parallel and distributed simulation,
calibration, validation, validation knowledge base, verification, identification,
coefficient of correlation, inequality index, feasible goals method, web-based simulation
Contents
1. Introduction
2. Techniques in simulation model design
2.1. Conceptual Models Design
2.2. Declarative Models Design
2.3. Functional Models Design
2.4. Constraint Models Design
2.5. Multi-models Design
3. Techniques in execution of simulation models
3.1. Serial Discrete-Event Simulation
3.2. Parallel Discrete-Event Simulation
4. Techniques in simulation model analysis
4.1. Input-Output Analysis
4.2. Model Calibration
4.3. What-if Analysis Techniques
4.4. Model Validation Techniques
4.5. Experiment Design
4.6. Goal-seeking Problem
5. Perspectives
5.1. Artificial Life
5.2. System Dynamics
5.3. Social Simulation
5.4. Feasible Goals Techniques
5.5. Web-based Simulation
Glossary
Bibliography
Biographical Sketch
Summary
This chapter presents modeling and simulation techniques for complex systems such as
life support systems. One uses a model instead of real situation or system to understand
something about it. Simulation with model helps us in making decisions and raise
hypothetical scenarios. If the model is valid experimenting with it by computer can save
money, time and efforts. Computer simulation designs a model of a studied object,
executes the model on a digital computer, and analyzes the execution output. The
knowledge base of data contains coordinated determination of the model external
U
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
variables and parameters and information regarding model expected behavior. The first
and the hardest problem in simulation is determining the exact method to use for
creating a model. The chapter presents a review on techniques used in model design
(conceptual, declarative, functional, constraint, and multi), techniques used in
simulation model execution (serial and parallel discrete-event simulation), and
techniques used in simulation model analysis (calibration, validation, verification, goal-
seeking).
1. Introduction
A model is something that one uses instead of the real thing in order to understand
something about that thing. Any model is much simpler then the reality it describes. In
spite of this, mathematical modeling and simulation are basic methods for analysis of
complex life support systems states and for forecast of system evolution. Besides, one
uses models because it is very costly, dangerous and often impossible to make
experiments with real systems. Provided that models are adequate descriptions of causal
relationship in reality (they are valid), experimenting with them by computer
(simulating of reality) can save money, woes and quite often time.
The system model is written either as a computer program or as some kind of input into
simulator software. Computer simulation is the discipline of designing a model of a
studied object, executing the model on a digital computer, and analyzing the execution
output. Within the overall task of simulation, there are several possible foci: model
design, model specification, model execution, and model analysis. A model is a high
level specification. Models are what scientists use to communicate about system design.
The semantics of a model are assumed to be known and common when scientists
employ common model types. Specifications can be written in many ways; but all of
them define algorithms. The algorithms formally specify how the models behave and
are simulated over time. Model execution is different from model design because one
model design may be executed in many different ways.
They often use the term simulation synonymously with computer simulation.
Simulation is an applied methodology in that one describes the behavior of complex
systems using mathematical models. Our model serves as a hypothesis for how a system
really behaves over time. One learns about an environment in an extremely effective
way and modifies rules while seeing the effects of our interaction.
To come to a decision on practical needs by model and simulation it is necessary to
interpret them in model terms. A problem of interpretation for matters reach in content
of reality in model terms cannot be resolved one day forever or automatically. As a rule
they divide the problem into two parts:
description of a knowledge base which is used also for model validation and
verification,
choice of the model parameters by techniques of calibration and identification.
The knowledge base contains coordinated determination of the model external variables
and parameters and information regarding model expected behavior. It is necessary to
use the coordinated determination to execute analytical or forecast calculations by
U
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
model and simulation. The information about expected behavior of model is acquired
either from an expert or from data obtained from an existing system and previously
validated models.
2. Techniques in Simulation Model Design
Process of model design may be divided into the next stages:
conceptual model design or pre-model formulation accompanied by pre-formation
of a knowledge base,
declarative model design or description in form of mathematical equations that cast
aside the nonessential factors,
functional model design or formulation of mathematical laws that the object obeys,
calibration of the model, formation of knowledge base and purpose of study,
investigation of the problem in particular by computer experiment,
comparison of results of model investigations with practice results and results
obtained from another model.
Perhaps the hardest general problem in simulation is determining the exact method to
use for creating a model. After all, where could one finds the starting point? J ust as the
discipline of software engineering has emerged to answer this question for software, in
general, modelers also face a similar problem: how does one engineer models? While
there are many modeling techniques for simulation, one is often in doubt as to which
model technique to use, and under what conditions it should be used.
2.1. Conceptual Models Design
In the statement of a problem existing concepts are always assumed. However, it is
expected that new concepts will also be created during the solution process. Concepts
are, however, of little value until they are expressed, usually through the medium of
language or block-schemes. It is only then that individuals can communicate their ideas
to others, and can co-operate in problem solving.
As a rule they use such techniques to design a conceptual model as:
choice of main agents and main subsystems they act,
choice of main values described states of studied system,
design of a block-scheme of interacting agents and subsystems that contains flows
for fixed values.
Nowadays these techniques are formalized only for very simple models. In formal
model every entity being modeled in the real world has an obvious and one-to-one
correspondence to an object in the model (agent, subsystem, value). Because conceptual
model maps directly from entities in the real world to objects in the computer-based
model, they make it easier to design and implement systems. The resulting systems are
easier to use since they are semantically obvious to users who already know the problem
area.
U
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
2.2. Declarative Models Design
A model is declarative if the current state of the system determines the actions of agents
and the ways in which that state will be changed. In other words, declarative models
specify reactions to states. As a contrast, imperative models specify a subsequent state
based on a given state. Dynamic imperative models yield sequences of states without
specifying how they are achieved whereas declarative models specify the actions taken
and changes made.
The declarative modeling techniques enable the modeler to include qualitative
considerations without loss of accuracy. In practice, they develop models in such a way
that simulation outputs include numerical series, which can meaningfully be compared
with some statistical data series.
2.3. Functional Models Design
The purpose of functional model of a studied system is to describe what the operations
on the system should do. Functional model may contain functional entities of different
types. Each type of entity is defined by the functions it contains.
2.4. Constraint Models Design
Each constraint (e.g., x + y = z, "the triangle is inside the circle") restricts the possible
values that variables can take, it represents some partial information about the variables
of interest.
All entities in a declarative model are described initially with the constraints that define
their nature and the relationships between them. The search program code is kept
separate from the model description. To design a model in terms of constraints it is
necessary to transform its description from the natural language to the language of
constraints. Both choosing the right model and choosing the right constraint satisfaction
algorithm is crucial for efficient solving of the problem.
2.5. Multi-models Design
Multi-modeling is an extension of object-oriented design. The key contribution of the
object-oriented methodology for simulation is the mapping between physical objects
and digital world. Classes are connected to form hierarchical structures using two
possible connectors: generalization or aggregation. An object is an instance of a class.
Each object will have attributes and methods. Attributes refer to properties of an object
while methods refer to the functions and procedures that operate upon the attributes.
Attributes can be one of two types: static and dynamic. A static attribute is one that does
not change over time while a dynamic attribute represents a component of the state
vector associated with the object. Simulation is mainly concerned with dynamic
attributes. A model is created by constructing objects and connecting them through
message passing.
Technology of multi-model design consists of the next stages:
U
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
conceptual model design for an investigated life support system,
breaking the system into a hierarchy of multi-model (abstractions),
identification of models to represent those abstraction levels.
Some levels may be declarative or functional in nature, and some might combine these
elements. A multi-model is a collection of individual models connected altogether to
promote intersection of levels. Identification is a process of selection of appropriate
model for each level. When the selection fulfils on the basis of statistical data this
process contains processes of data collection, and model calibration adjustment of
model parameters.
After the model has been designed, it needs to be executed. The way that one executes a
model depends on the type of model.
3. Techniques in Execution of Simulation Models
A simulation is the technique of imitating the behavior of some system or situation by
means of an analogous model, situation, or apparatus, either to gain information more
conveniently or to train personnel. Discrete event simulation concerns the modeling of a
system as it evolves over time by representing the changes as separate events. This is
the opposite of continuous simulation where the system evolves as a continuous
function. Although, discrete event simulation could conceivably be carried out by hand
it can be computationally intensive, therefore will invariably involve computers and
software.
A simulation is the execution of a model, represented by a computer program that gives
information about the studied system. The simulation approach of analyzing a model is
opposed to the analytical approach, where the method of analyzing the system is purely
theoretical. As this approach is more reliable, the simulation approach gives more
flexibility and convenience.
Computer simulation has a tremendous influence on all facets of life because it is often
too costly or prohibitive to build real physical systems. Simulation helps you to make
decisions and raise hypothetical scenarios. A key activity of applied scientists is to
model some aspect of reality, and the computer plays a central role in modeling. If it is
necessary to speed the execution process for a large-scale model, they parallelize the
model.
-
-
-
TO ACCESS ALL THE 18 PAGES OF THIS CHAPTER,
Visit: http://www.eolss.net/Eolss-sampleAllChapter.aspx
U
N
E
S
C
O
E
O
L
S
S
S
A
M
P
L
E
C
H
A
P
T
E
R
S
SYSTEMS ANALYSIS AND MODELING OF INTEGRATED WORLD SYSTEMS - Vol. I - Modeling and Simulation
Techniques - N.N. Olenev
Encyclopedia of Life Support Systems (EOLSS)
Bibliography
Britta L.G., zmirak F.N. (1996). A Knowledge-Based Approach for the Validation of Simulation
Models: The Foundation. ACM Transactions on Modeling and Computer Simulation. Volume 6, Number
1 (J anuary). [This paper proposes an approach for behavioral validation of simulation models, which is
intended to perform automatic validation.]
Fishwick P.A. (1995). Simulation Model Design and Execution: Building Digital Worlds. Prentice Hall.
432 pp. [This book offers the text to cover all three areas of simulation - model design, model execution,
and execution analysis.]
Fujimoto R.M. (1999). Parallel and Distributed Simulation Systems. J ohn Wiley & Sons. 300 pp.[This
book is a state-of-the-art guide for the implementation of distributed simulation technology and it
explains in detail the synchronization algorithms needed to properly realize the simulations.]
Law A.M., Kelton D.W. (2000). Simulation Modeling &Analysis. McGraw Hill Third edition. 784 pp.
[This book is a comprehensive treatment of all the important aspects of a simulation study, including
modeling, simulation software, model verification and validation, input modeling, random-number
generators, statistical design and analysis of simulation experiments.]
Lotov A.V., Bushenkov V.A., Kamenev G.K. (2001). Feasible Goals Method. Search for Smart
Decisions. Dorodnicyn Computing Centre of the Russian Academy of Sciences. 240 pp. Moscow. [This
book gives a complete description of the Feasible Goals Method that helps to find preferred decisions
from an infinite number of feasible decision alternatives.]
Olenev N.N. (1999). Production Function of Skilled and Unskilled Labour in a Model of a Non-Growing
Russian Economy. ILM Conference Proceedings. 560-575. Aberdeen, Scotland. [This paper demonstrates
a usage of the Theils inequality index and the correlation coefficient for simulation model validation.]
Samarskii A.A., Mikhailov A.P. (2001). Principles of Mathematical Modelling: Ideas, Methods,
Examples. Taylor & Francis Group. 360 pp. London - New York Philadelphia - Singapore. [This book
considers the principles of model construction and realization and describes links between parts model
and algorithm from triad of mathematical modeling: model - algorithm -code.]
Biographical Sketch
Nicholas Olenev is Senior Scientist at the Department of Mathematical Modeling of Economic Systems,
Dorodnicyn Computing Center of the Russian Academy of Sciences (CC RAS), Senior Scientist at J oint
Supercomputer Center, Moscow, Russia, Docent at Moscow Institute of Physics and Technology, where
he teaches parallel programming by message passing interface, Docent of mathematics at Peoples
Friendship University of Russia, where he teaches mathematical modeling for economic and ecological
systems. He holds a Ph.D. from the CC RAS, 1993. He previously occupied permanent positions at
Department of Economic and Mathematical Methods for Poultry Industry of Scientific and Research
Organization Complex, Moscow Region, where he was a leader of team that constructed a logistical
system for drafting of poultry deliveries. He was a visitor at the Central and East European Economic
Research Center, Warsaw University, where he studied dynamics of employment structure in transition
economy and constructed a production function of skilled and unskilled labor for Russian non-growing
economy. He has constructed and studied numerous models of transition economy and models of
economy and environment interaction. His main interests are in the field of mathematical modeling of
economic structures for various branches of national economy, constructing of network ecological
demographical economic simulation games for several countries, developing models for study ecological
consequences of economic growth.