Agent Based Modeling
Although you can find a number of various definitions of Agent Based Modeling (ABM) in the literature, from the viewpoint of practical applications agent based modeling can be defined as an essentially decentralized, individual-centric (as opposed to system level) approach to model design. When designing an agent based model the modeler identifies the active entities, the agents (which can be people, companies, projects, assets, vehicles, cities, animals, ships, products, etc.), defines their behavior (main drivers, reactions, memory, states, ...), puts them in a certain environment, establishes connections, and runs the simulation. The global behavior then emerges as a result of interactions of many individual behaviors. AnyLogic supports Agent Based modeling (as well as Discrete Event and System Dynamics Modeling) and allows you to efficiently combine it with other modeling approaches.
Agent Based Modeling is a new way to look at your organization
Traditional modeling approaches treat a company’s employees, projects, products, customers, and partners as either aggregated averaged quantities or as passive entities or resources in a process. For example, system dynamics models are full of assumptions like “we have 120 employees in R&D, they can design about 20 new products a year”, or “we have a fleet of 1200 trucks that can move so much cargo in a month, and 5% of them need to be replaced each year”. In the process-centric (also known as discrete event) approach you would view your organization as a number of processes, such as: “a customer calls a call center, the call is first handled by operator of type A, which takes an average of 2 minutes, then 20% of the calls need to be forwarded to…”. These approaches are indeed more powerful than “spreadsheet-based modeling”. They can capture organizational dynamics and non-linearity, but they ignore the fact that all those people, products, projects, pieces of equipment, assets, etc are all different and have their own histories, intentions, desires, individual properties, and complex relationships. For example, people may have different expectations regarding their income and career, or may have significantly different productivity in different teams. R&D projects interact and compete and may depend upon one another and aircraft have individual and rigid maintenance schedules whose combination may lead to fleet availability problems. A customer may consult his family members before making a purchase decision. The Agent based approach is free of such limitations as it suggests that the modeler directly focus on individual objects in and around the organization, their individual behaviors, and their interactions. The agent based model is actually a set of interacting active objects that reflect objects and relationships in the real world and thus is a natural step forward in understanding and managing the complexity of today’s business and social systems.
ABM can make your (currently unused) data work for you
Today’s companies and governmental organizations have accumulated large amounts of useful data in their CRM, ERP, and HR databases that are very much underutilized. Agent based modeling is a natural way to leverage that data and put it to work. As long as agent based models are essentially individual-based they can be populated with agents whose properties are real and read directly from a CRM system or from an ERP/HR database if you are modeling the dynamics of the human resources inside the organization. This gives you an easy, precise, and up to date way to model, forecast, compare scenarios, and optimize your strategy.
Applications of Agent Based Modeling
In the dynamic and complex market environments of telecommunications, insurance, leasing, and healthcare consumers make choices based on the characteristics of the consumers themselves and other factors that are best captured by the agent based modeling paradigm. Individual-centric data from Customer Relationship Management systems can be used to parameterize the model agents.
Epidemiology is another field that fits well with the agent-based method. In epidemiology models agents are people that can be susceptible, infectious, recovered, or immune to a disease. The agent-based methodology lets you explicitly capture social networks and contacts between people, which can lead to better forecasts of the spread of the disease.
You however should not think of ABM as a method applicable only to large populations. There are problems in manufacturing, logistics, supply chains, and business processes where ABM works better than anything else. For example, the behavior of a complex machine that has internal states, inherent timing, different reactions in different modes, etc. may be efficiently modeled by a separate object (agent) with a state chart inside that may be linked to the manufacturing process workflow. The supply chain participants (companies, producers, wholesalers, retailers) have their own goals and rules and can naturally be represented as agents. Agents can even be projects or products within one company that have internal states and dynamics and compete for company resources.
See AnyLogic agent based model applets in the online model gallery.
AnyLogic support for Agent Based Modeling
Agent based models in practice are very diverse, and it would be virtually impossible to develop a universal "Agent Based Library" and that reduced the modeler's work to a number of drag-and-drop operations. There are however some reusable "design patterns" that simplify development of agent based models and are directly supported by AnyLogic. These patterns are in:
- Model architecture
- Agent synchronization ("steps")
- Space (continuous, discrete or GIS-map), mobility and spatial animation
- Agent connections (like social networks) and communication
- Dynamic creation and destruction of agents