14.1 What Is Simulation?

A simulation is a powerful tool used to study complex systems. Simulation is the development of a model of a complex system and the experimental manipulation of that model to observe the results. Models may be purely physical, such as a wind tunnel; a combination of physical objects under software control, such as a spaceship or flight simulator; or logical, as represented in a computer program.

Computer simulations have been used to help in decision making since the mid-1950s. Building computer models of complex systems has allowed decision makers to develop an understanding of the performance of the systems over time. How many tellers should a bank have? Would the materials flow faster through the manufacturing line if there were more space between stations? What is the weather going to be tomorrow? Where is the optimal place to put the new fire station? We can gain considerable insight into all of these questions through simulation.

Complex Systems

System is one of those words that we all intuitively understand but have difficulty defining. The dictionary gives several definitions with the common theme of groups (collections) of objects interacting in some way. The objects can be animate or inanimate. A collection of hardware and software form a computer system. A collection of tracks and railway cars form a railroad system. A collection of teachers and students form a school system.

Systems that are best suited to being simulated are dynamic, interactive, and complicated.1 That is, they should be complex. The behaviors of dynamic systems vary over time. The way that the behavior varies may be understood and captured in mathematical equations, such as the flight of a missile through nonturbulent atmosphere. Alternatively, the behavior may be only partially understood but amenable to statistical representation, such as the arrival of people at a traffic light. Although the definition of systems implies that the objects interact, the more interactions that exist in the system, the better a candidate the system is for simulation. Take, for example, the behavior of a plane under air traffic control. The performance characteristics of the individual plane, the interaction with the air traffic controller, the weather, and any routing changes due to problems on the ground all contribute to the plane’s behavior. Finally, the system should be made up of many objects. If it weren’t, simulating it would be a waste of time.

Models

Model is another of those words that we all understand but might have a difficult time defining. There are two dictionary definitions that relate to the use of the word in simulation: an analogy used to help visualize something that cannot be directly observed; and a set of postulates, data, and inferences presented as a mathematical description of an entity or state of affairs. Although these two definitions seem very different, they share one major thread: In both cases, a model is an abstraction of something else. In the first case, the model represents something that is not completely understood, so we are forced to say it is like something else. In the second case, the system is understood well enough to be described by a set of mathematical rules.

For our purposes, a model is an abstraction of a real system. It is a representation of the objects within the system and the rules that govern the interactions of those objects. The representation may be concrete, as in the case of the spaceship or flight simulator, or it may be abstract, as in the case of the computer program that examines the number of checkout stations needed. In the rest of the discussion of simulation, the models we refer to are abstract. Their realization comes only within a computer program.

Constructing Models

The essence of constructing a model is to identify a small subset of characteristics or features that are sufficient to describe the behavior under investigation. Remember, a model is an abstraction of a real system; it is not the system itself. Therefore, there is a fine line between having too few characteristics to accurately describe the behavior of the system and having more characteristics than you need to accurately describe the system. The goal is to build the simplest model that describes the relevant behavior.

Models are built for two distinct types of simulation, and the process of choosing the subset of characteristics or features is different for each. The distinction between the two types is based on how time is represented: as a continuous variable or as a discrete event.

Continuous Simulation

Continuous simulations treat time as continuous and express changes in terms of a set of differential equations that reflect the relationships among the set of characteristics. Thus the characteristics or features chosen to model the system must be those whose behavior is understood mathematically. For example, meteorological modeling falls into this category. The characteristics of weather models are wind components, temperature, water vapor, cloud formation, precipitation, and so on. The interactions of these components over time can be modeled by a set of partial differential equations, which measure the rate of change of each component over some three-dimensional region.

Because of the technical nature of the characteristics in continuous simulations, engineers and economists frequently use this technique. The sets of possible characteristics and their interactions are well known in these fields. In a later section we look more closely at meteorological simulation.

Discrete-Event Simulation

Discrete-event models are made up of entities, attributes, and events. An entity represents some object in the real system that must be explicitly defined. That is, the characteristic or feature of the system is an object. For example, if we were modeling a manufacturing plant, the different machines and the product being created would be entities. An attribute is some characteristic of a particular entity. The identification number, the purchase date, and the maintenance history would be attributes of a particular machine. An event is an interaction between entities. For example, sending the output from one machine as input to the next machine would be an event.

An object that flows through a system is usually represented as an entity. For example, the output from one machine is an object that is passed on to the next machine. Thus a raw widget flows from one machine to another (a series of events) and ends up as a lovely doodad. An entity can also represent a resource that other entities need. For example, a teller is a resource in a model of a bank. If a teller is not available, the customer entity must enter a waiting line (a queue) until a teller is available.

The keys to constructing a good model are choosing the entities to represent the system and correctly determining the rules that define the results of the events. Pareto’s law says that in every set of entities, there exist a vital few and a trivial many. Approximately 80% of the behavior of an average system can be explained by the action of 20% of the components.2 The second part of the definition of simulation gives us a clue where to begin: “experimental manipulation of that model to observe the results.” Which results are to be observed? The answers to this question give a good starting point to the determination of the entities in the real system that must be present in the model. The entities and the rules that define the interactions of the entities must be sufficient to produce the results to be observed.

Because a computer program implements an abstract model, we can apply object-oriented design to the problem of building the model. The entities in the model are object classes. The attributes of the entities are prop erties of a class. Where do the events fall into this analogy? The events are the responsibilities of an entity. The rules that define the interactions of the entities in the system are represented by the collaborations of the classes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.136.154.103