You are on page 1of 10

AGENTS BASED MODELLING AND SIMULATION MANJULA.

R ( 11MSC0092 )

ABSTRACT : Agent-based modelling and simulation (ABMS) is a new approach to modelling systems comprised of autonomous, interacting agents. ABMS use computers to support decisionmaking and researchers to support their research. Some tell ABMS is a third way of doing science in addition to deductive and inductive reasoning. Computational advances Have made possible a growing number of agent based applications in a variety of fields. The modelling & simulation thread is intended for students interested in developing a deep understanding and appreciation of how natural and human-generated systems such as weather, biological processes, supply chains, or computers, can be represented by mathematical models and computer software. Such models are widely used today to better understand and predict the behaviour of such systems. As we live in increasingly complex world, analysing and modelling a system in terms of interdependency is complex, ABMS take its importance here .This paper describes questions like What is modelling , simulation? What is simulation modelling and analysis? How to select simulation software? , foundations of ABMS and provides thoughts on ABMS versus conventional modelling techniques

1. INTRODUCTION Agent-based modelling and simulation (ABMS) is a new approach to modelling systems comprised of autonomous, interacting agents. ABMS use computers to support decisionmaking and researchers to support their research. Computational advances have made possible a growing number of agent based applications in a variety of fields. The modelling & simulation thread is intended for students interested in developing a deep understanding and appreciation of how natural and human-generated systems such as weather, biological processes, supply chains, or computers, can be represented by mathematical models and computer software. Such models are widely used today to better understand and predict the behaviour of such systems. 2. Definitions System - A system exists and operates in time and space. Agent - From a practical modelling view, we consider agents to have certain characteristics, An agent is identifiable An agent is situated An agent may be goal-directed An agent is autonomous and self-directed An agent is flexible,

Figure 1 : Agent

Model - A model is a simplified representation of a system to promote understanding of the real system. One purpose of a model is to enable the analyst to predict the effect of changes to the system. Modelling plays a key role in scientific thinking. Simulation - A simulation is the manipulation of a model in such a way that it operates on time or space to compress it. A simulation of a system is the operation of a model of the system. In its broadest sense, simulation is a tool to evaluate the performance of a system, existing or proposed, under different configurations of interest and over long periods of real time. Simulation is used before an existing system is altered or a new system built, to reduce the chances of failure to meet specifications, to prevent under or over-utilization of resources, and to optimize system performance. 3. Agent Based Modelling and Simulation (ABMS) ABMS is known as ABM (agent-based modelling), ABS (agent-based systems), and IBM (individual-based modelling). Agent-based modelling is a powerful simulation modelling technique that has seen a number of applications in the last few years, including applications to real-world business problems. After the basic principles of agent-based simulation are briefly introduced, its four areas of application are discussed by using real-world applications: flow simulation, organizational simulation, market simulation, and diffusion simulation. For each category, one or several business applications are described and analysed. In agent-based modelling and simulation (ABMS), a system is modelled as a collection of autonomous decision-making entities called Agents. Each agent individually assesses its situation and makes decisions on the basis of a set of rules. Agents may execute various behaviours appropriate for the system they representfor example, producing, consuming, or selling. Repetitive competitive interactions between agents are a feature of agent-based modelling, ABMS is a mindset more than a technology. The ABMS mindset consists of describing a system from the perspective of its constituent units. As the ABMS mindset is starting to enjoy significant popularity, it is a good time to redefine why it is useful and when ABM should be used. One of the reasons underlying ABM's popularity is its ease of implementation: indeed, once one has heard about ABMS, it is easy to program an agent-based model because the technique is easy to use. But although ABM is technically simple, it is also conceptually deep. This unusual combination often leads to improper use of ABM. Modeling and Simulation is a discipline for developing a level of understanding of the interaction of the parts of a system, and of the system as a whole.

A system is understood to be an entity which maintains its existence through the interaction of its parts. A model is a simplified representation of the actual system intended to promote understanding. Since all models are simplifications of reality there is always a question as to what level of detail is included in the model. If too little detail is included in the model one runs the risk of missing relevant interactions and the resultant model does not promote understanding. If too much detail is included in the model the model may become overly complicated and actually preclude the development of understanding. A simulation generally refers to a computerized version of the model which is run over time to study the implications of the defined interactions. Simulations are generally iterative in there development. One develops a model, simulates it, learns from the simulation, revises the model, and continues the iterations until an adequate level of understanding is developed. Modelling and Simulation is a discipline, it is also very much an art form. One can learn about riding a bicycle from reading a book. To really learn to ride a bicycle one must become actively engaged with a bicycle. Modelling and Simulation follows much the same reality. You can learn much about modelling and simulation from reading books and talking with other people. Skill and talent in developing models and performing simulations is only developed through the building of models and simulating them.

Fig 2(a) . A general schema describing the usage of simulation as a predictive or explanatory instrument. Many subsystems can be viewed as being characterized by the presence of a number of autonomous entities whose behaviors (actions and interactions) determine (in a non-trivial way) the evolution of the overall system. Agent-based models are particularly suited to tackle these situations and they support the study and analysis of decision making, local-global interactions, self-organization, emergence and effects of heterogeneity in the simulated system. There is a growing interest in this relatively recent approach to modelling and simulation

As agent-based, share a common viewpoint on the modelled system: the analytical unit is represented by an individual agent, acting and interacting with other entities in a shared environment. The overall system dynamics is not defined in terms of a global function, but rather the result of individuals' actions and interactions. While agents play thus a key role in this approach, it must also be noted that the environment they are situated plays a prominent role because:

it deeply influences the behaviours of the simulated entities, in terms of perceptions and allowed for actions of the agents; the aim of the simulation is to observe some aggregate level behaviour, that can actually only be observed in the environment.

FIG 2(b) : Schematic study of Simulation The steps involved in developing a simulation Model, designing a simulation experiment, and performing simulation analysis are: Step 1. Identify the problem. Step 2. Formulate the problem. Step 3. Collect and process real system data. Step 4. Formulate and develop a model. Step 5. Validate the model. Step 6. Document model for future use. Step 7. Select appropriate experimental design. Step 8. Establish experimental conditions for runs. Step 9. Perform simulation runs.

Step 10. Interpret and present results. Step 11. Recommend further course of action. This is a logical ordering of steps in a simulation study, many iterations at various sub-stages may be required .

4. HOW TO DEVELOP A SIMULATION MODEL? Simulation models consist of the following components: system entities, input variables, performance measures, and functional relationships. Almost all simulation software packages provide constructs to model each of the above components. Modelling is arguably the most important part of a simulation study. Simulation modelling comprises the following steps: Step 1. Identify the problem. Enumerate problems with an existing system. Produce requirements for a proposed system. Step 2 . Formulate the problem. Select the bounds of the system, the problem to be studied. Define overall objective of the study and performance measures in terms of quantitative criteria on the basis of which different system configurations will be compared . Identify the configurations and formulate hypotheses about system performance. Decide the time frame of the study, i.e.,will the model be used for a one-time decision or over a period of time on a regular basis. Identify the end user of the simulation model . Problems must be formulated as precisely as possible. Step 3. Collect and process real system data. Collect data on system specifications , input variables, as well as performance of the existing system. Identify sources of randomness in the system . Select an appropriate input probability distribution for each stochastic input variable and estimate corresponding parameter(s). Software packages for distribution fitting and add-ons in some standard statistical packages. Standard distributions are easy to model and simulate. Empirical distributions are used when standard distributions are not appropriate or do not fit the available system data. Triangular, uniform or normal distribution is used as a first guess when no data are available. Step 4. Formulate and develop a model. Develop schematics and network diagrams of the system . Translate these conceptual models to simulation software acceptable form. Verify that the simulation model . Verification techniques include traces, varying input parameters over their acceptable range and checking the output, substituting constants for random variables and manually checking results, and animation. Step 5. Validate the model. Compare the model's performance under known conditions with the performance of the real system. Perform statistical inference tests and get the model examined by system experts. Assess the confidence that the end user places on the model and address problems if any. For major simulation studies, experienced consultants advocate a structured presentation of the model by the simulation analyst(s) before an audience of management and system experts. This not only ensures that the model assumptions are correct, complete and consistent, but also enhances confidence in the model. Step 6. Document model for future use. Document objectives, assumptions and input variables in detail.

Besides these common elements, agent-based modeling approaches often dramatically differ in the way agents are described, both in terms of properties and behavior. A similar consideration can be made for their environment Given the above introduced considerations, the main aim of this article is to describe a very abstract and generic model that can be adopted to analyze, describe and discuss different models, concrete simulation experiences, platforms that from different points of view claim to adopt an agent-based approach. The model is illustrated in Figure 2.

Fig 3. An abstract model to analyze, describe and discuss different models, concrete simulation experiences, and claiming to adopt an agent-based approach. The main elements of this reference model are:

agents, encompassing a possibly heterogeneous behavioural specification; their environment, supplying agents their perceptions and enabling their actions; mechanisms of interaction among agents: these mechanisms can either involve a direct exchange of information among the involved entities or an indirect one, realized through the possible perception by an agent of the effects of another agent's action.

The benefits of ABM over other modelling techniques can be captured in three statements: (i) (ii) (iii) ABMS captures emergent phenomena ABMS provides a natural description of a system ABMS is flexible

5. ABMS APPLICATIONS Practical agent-based modelling and simulation is actively being applied in many areas . ABMS applications ranges from small, elegant, minimalist academic models to large-scale designed to capture only the most salient features of a system . Decision support models tend to be large-scale applications and are designed to answer real-world questions. These models include real data and have passed some validation tests to establish credibility. Agent-based Modeling Applications

Business and Organizations Manufacturing Consumer markets Supply chains Insurance Economics Artificial financial markets Trade networks Infrastructure Electric power markets Hydrogen economy Transportation Crowds Human movement Evacuation modeling

Society and Culture Ancient civilizations Civil disobedience Terrorism Social determinants Organizational networks Military Command & control Force-on-force Biology Ecology Animal group behaviour Cell behaviour Sub cellular molecular behaviour

Table 1 : Agent-based Modeling Applications

6. ABMS Software and Tools Agent-based modeling can be done using general, allpurpose software or programming languages, or it can be done using specially designed software and toolkits that address the special requirements of modelling agents. Agent modelling can be done in the small, on the desktop, or in the large, using large-scale computing clusters. Projects often begin small, using one of the desktop ABMS tools, and then grow in stages into the larger-scale ABMS toolkits. Often one begins developing their first agent model using the approach that one is most familiar with, or the approach that one finds easiest to learn given their background and experience.We distinguish several approaches to building ABMS applications in terms of the scale of the software that one can apply : Desktop Computing for ABMS Application Development: Spreadsheets: Excel using the macro programming language VBA Dedicated Agent-based Prototyping Environments: Repast Simphony, NetLogo, StarLogo General Computational Mathematics Systems: MATLAB, Mathematica Large-Scale (Scalable) Agent Development Environments: Repast Swarm MASON

AnyLogic General Programming Languages: Python Java C++

Table 2: Simulation Packages

Type Of Simulation Package

EXAMPLES Arena (previously SIMAN), AweSim! (previously SLAM II), Extend, GPSS, Micro Saint, SIMSCRIPT, SLX Object-oriented software: MODSIM III, SIMPLE++ Animation software: Proof Animation Manufacturing: AutoMod, Extend+MFG, FACTOR/AIM, ManSim/X, MP$IM, ProModel, QUEST, Taylor II, WITNESS Communications/computer: COMNET III, NETWORK II.5, OPNET Modeler, OPNET Planner, SES/Strategizer, SES/workbench Business: BP$IM, Extend+BPR, ProcessModel, ServiceModel, SIMPROCESS, Time machine Health Care: MedModel

Simulation languages

Application - Oriented Simulators

7. How to Build an Agent-based Simulation Model Agent-based modelling brings with it a few unique aspects owing to the fact that ABMS takes the agent perspective, first and foremost, in contrast to the process-based perspective that is the traditional hallmark of simulation modelling . In addition to the standard model building tasks, practical ABMS requires one to: (1) identify the agents and get a theory of agent behaviour. (2) identify the agent relationships and get a theory of agent interaction. (3) get the requisite agent-related data. (4) validate the agent behaviour models in addition to the model as a whole. (5) run the model and analyze the output from the standpoint of linking linking the microscale behaviors of the agents to the macroscale behaviours of the system. ABMS is more often than not a stochastic modelling approach. A model generally includes stochastic elements to model the range of outcomes for agent behaviours and interactions which are not known with certainty.

The general steps in building an agent model are as follows: 1. Agents: Identify the agent types and other objects (classes) along with their attributes. 2. Environment: Define the environment the agents will live in and interact with. 3. Agent Methods: Specify the methods by which agent attributes are updated in response to either agent-to-agent interactions or agent interactions with the environment. 4. Agent Interactions: Add the methods that control which agents interact, when they interact, and how they interact during the simulation. 5. Implementation: Implement the agent model in computational software.

8. WHY AND WHEN ABMS Situations where agent-based modelling can offer advantages over conventional simulation approaches. When is it beneficial to think in terms of agents? When there is a natural representation as agents When there are decisions and behaviours that can be defined discretely (with boundaries) When it is important that agents adapt and change their behaviours When it is important that agents learn and engage in dynamic strategic behaviours When it is important that agents have a dynamic relationships with other agents, and agent relationships form and dissolve When it is important that agents form organizations, and adaptation and learning are important at the organization level When it is important that agents have a spatial component to their behaviors and interactions When the past is no predictor of the future When scaling-up to arbitrary levels is important When process structural change needs to be a result of the model, rather than a model input

9. BENEFITS OF SIMULATION MODELING AND ANALYSIS According to practitioners, simulation modelling and analysis is one of the most frequently used operations research techniques. When used judiciously, simulation Modelling and analysis makes it possible to: Obtain a better understanding of the system by developing a mathematical model of a system, and observing the system's operation in detail over long periods of time. Test hypotheses about the system for feasibility. Compress time to observe certain phenomena over long periods or expand time to observe a complex phenomenon in detail. Study the effects of certain informational, organizational, environmental and policy changes on the operation of a system by altering the system's model; this can be done without disrupting the real system and significantly reduces the risk of experimenting with the real system. Experiment with new or unknown situations about which only weak information is available. Identify the "driving" variables - ones that performance measures are most sensitive to - and the inter-relationships among them. Identify bottlenecks in the flow of entities (material, people, etc.) or information. Use multiple performance metrics for analysing system configurations.

Employ a systems approach to problem solving. Develop well designed and robust systems and reduce system development time.

10. WHAT ARE SOME PITFALLS TO GUARD AGAINST IN SIMULATION? Simulation can be a time consuming and complex exercise, from modelling through output analysis, that necessitates the involvement of resident experts and decision makers in the entire process. Following are pitfalls to guard against in simulation. Unclear objective. Using simulation when an analytic solution is appropriate. Invalid model. Simulation model too complex or too simple. Erroneous assumptions. Undocumented assumptions. Using the wrong input probability distribution. Replacing a distribution (stochastic) by its mean (deterministic). Using the wrong performance measure. Bugs in the simulation program. Initial bias in output data. Making one simulation run for a configuration. Poor schedule and budget planning. Poor communication among the personnel involved in the simulation study. 11. CONCLUSION In this paper describes questions like What is modelling , simulation? What is simulation modelling and analysis? How to select simulation software? , foundations of ABMS and provides thoughts on ABMS versus conventional modelling techniques. 12. REFERENCES 1. Charles M. Macal and Michael J. North , AGENT-BASED MODELING AND SIMULATION 2009 Winter Simulation Conference 2. Anu Maria, INTRODUCTION TO MODELING AND SIMULATION 3. O nder Gu rcan_, Oguz Dikenelli, Towards a Generic Testing Framework for Agent-Based Simulation Models, PROCEEDINGS OF THE FEDCSIS. SZCZECIN, 2011 4. Agent Based Modeling and Simulation: An Informatics Perspective ,Journal of Artificial Societies and Social Simulation 2009 5. Jebrin AL-SHARAWNEH and Mary-Anne WILLIAMS ,ABMS: Agent-based Modeling and Simulation in Web Service Selection 6. Charles M. Macal and Michael J. North , TUTORIAL ON AGENT-BASED MODELING AND SIMULATION PART 2: HOW TO MODEL WITH AGENTS 7. Eric Bonabeau , Agent-based modeling: Methods and techniques for simulating human systems

You might also like