modelo basado en agentes

Agent-Based Modeling and Simulation

Simulation models founded on the concept of system dynamics assume all the elements defined in the system are homogeneous. For example, by including the concept of young people within a particular modelling scenario it is assumed the same characteristics and behavior apply throughout. Such a simplification may not be possible and, in the real world as is often the case, homogeneity does not always exist. Expanding the young people example where the buying preferences of 10 young consumers are quite different and these preferences require analysis, then agent-based models [ABMs] are better suited than system dynamics models [SDMs].

ABMs can be applied to many disciplines including business, the social sciences and the pure sciences. They offer the opportunity to simulate the actions and interactions of these complex systems, holistically. Economists assume rational behaviour when applying aggregate mathematical models to problems leading to an equilibrium or optimal position. By using ABMs we are able: (i) build from the individual or single entity as the basic unit and (ii) provide a natural modelling alternative in which they allow the use of disaggregated data as a means to overcome limitations associated with assumptions such as rational behaviour.

Agent-based modelling can be achieved using generic software including Java, Anylogic, NetLogo, Mathlab, C++ or Python. However, to construct an ABM with any of these systems requires a working knowledge of that system and/or programming. This book introduces Ventity as a specific ABM software that requires no programming knowledge and is free of charge for personal or educational use. By following the examples contained in this book you will develop your knowledge and skill in the application of Ventity. These can then be applied to your own area(s) of expertise and facilitate the construction of more complex agent-based models.

Learning ABM requires an understanding of its concepts and the ability to apply them. This book is a learning resource. An understanding of the concepts is developed by learning to use the software. Their application is achieved by following and completing the many practical exercises which are written as a step-by-step guide to maximise your learning experience. The book includes a complete set of instructions on downloading Ventity along with a link to the exercises included in this book.

My objective in writing this book is to provide you with an introduction to ABMs and how to create them. Modelling can be a frustrating experience, not least the initial learning but also experiencing the disappointment when a model fails. It is my hope, the approach taken in this book is both friendly and sufficiently well explained to overcome problems associated with learning. With regard to disappointment let me say this. I have designed this book so that you are able to get the correct results – from the start. This will encourage you to move forward, in a progressive manner, and acquire the understanding and confidence to take-on the more complex problems. Good modelling!

What is an Agent-Based Model?

An ABM is a methodology that enables the creation of simulation models based on identifying individual behavior of the entities (people, animals, things, etc.) that make up a system, and is used to analyze what changes can be introduced to the real system to achieve the desired behavior.

When using an ABM

Prior to creating a model with the ABM methodology, we have to brainstorm the following options:
1. Often times the problem can be analyzed well with the help of an Excel. If so, without hesitation use Excel.
2. If there’s a lot of available historical data and you want to make a forecast, consider using statistical software. For example, we want to make a forecast for the next month of traffic on a highway, of which there are daily historical traffic data for the last five years. No construction or any other specific event is scheduled for next month. In this case, software such as SPSS or Mathlab is best suited for this option.
3. Under the notion the main elements of the system are homogeneous, in this case the ideal tool is to create a System Dynamics model. For example, you want to establish the limit of tuna catches in a certain area. It can be assumed that all tunas are the same, and the fisheries are classified into 3 types. A software with the capability to create System Dynamics models such as Vensim is the best option.

Discarding the previous options, we already have the certainty that an ABM may be just what we need. An ABM model is used when we have a system composed of elements that, although similar, have characteristics that make them unique and critical to understand the system as a whole to decide policies that must be applied to manage it and achieve the proposed objective.

For example, let’s say you want to plan the activities of a taxi fleet, and you cannot assume that they are the same, due to different vehicle brands, different purchase dates and daily accumulated kilometers, etc. Therefore, although they are all similar, the characteristics of the taxies cannot be based on an average value, the same for all, because that average taxi does not exist.

What is ABM useful for?

ABM simulation models are used across multiple industries and fields. The following are a few examples on the usage of ABMs: In the academic field ABMs are useful for research projects, final projects and doctoral theses e.g., since it allows the concepts to be clearly ordered, rigorous calculation made to finally offer convincing results. ABMs are useful as a planning tool for production and managing warehouses. In economics useful to manage multiple public resources, especially investments. The environment to analyze the environmental impact of human activity on natural ecosystems. The multiple disciplines of the social sciences can integrate ABM models as an analysis tool allowing analysis of small groups to groups that encompass millions of people.

What does the book contribute

Starting the usage of a new methodology always requires effort. This book shows in an orderly fashion the concepts as well as the steps to follow to build an ABM. The step-by-step creation of various models of increasing complexity are shown, in order for the reader to progressively gain mastery of this tool.

The themes of the models are diverse reflecting the multiple applications of this tool. The reason for this diversity of themes is not so much to show possible applications, but instead to make reading the book an enjoyable experience.

Focus of the book

It is assumed that the reader is completely unaware of the ABM models, beyond having an idea of their possible utility. Therefore, the book begins by explaining the most basic concepts and the terms used and then progressively explaining in each of the practical exercises the benefits the software offers. Each exercise brings some news and also helps to consolidate what has been seen up to that moment.

Obviously, a certain effort of concentration is required from the reader, but the content of the book is designed so that the reader can advance at a good pace. To achieve this objective, the book has been refined with the help of many people who have volunteered to do so, to achieve a text that is easy to understand and free of any misprints.

The approach is therefore to start from the most basic level and progress until the reader can make their own model applying the ABM methodology. This is the goal of this book, but it is not the end of the road thus, a follow-up book introduces the reader to additional features such as creating entities, defining cohorts, and doing sensitivity analysis, optimization, and calibration.

Previous knowledge

Reading the book and doing the exercises does not require any programming knowledge, which is a great advantage. Nor are special mathematical knowledge necessary, an average user of Excel can approach this book with complete confidence and peace of mind.

The person who has prior programming knowledge will be able to directly manipulate the instructions of the model, since it is ultimately a txt file, and the individual will also be able to find some equivalence with the existing knowledge from programming.

What am I going to learn

1. Create models with quantitative variables. In many models we can assign values to all variables, and the result is also numerical.

2. Create models with qualitative variables. Sometimes we need to use alphanumeric attributes to some variables, with one result being numeric.

3. Create models with grouped variables. Sometimes we must group some entities by one of their attributes to obtain clearer results.

4. Create and delete entities during simulation. This option is used when some entities are incorporated or deleted during simulation

5. Get results in 2D. Feature that is used when the dynamic representation of the behavior of the system entities on a two-dimensional plane is of interest.

6. Get results on GIS images. Feature that allows you to view the dynamics of the system entities when they have a geographic references.

These last 3 points are developed in the book that is a continuation of this one. In addition, you will learn the use of chronological dates in the simulation, the capture of data from an Excel sheet, the transfer of results to external files, the use of entity cohorts and many other additional features.

Software

The software used is exclusive to create simulation models applying the ABM methodology, it does not require programming knowledge of any kind. You are going to use Ventity software which is a free software for personal and educational use, consequently it is not necessary to buy it in order to complete the exercises from the book.

Ventity is a very intuitive software to use, since the diagrams are created with the help of the icons and the variables used allow a colloquial language such as "change to green" or "open the tap".


Books

Purchase here

Printed books

     


Purchase ebook