In recent years, there has been a growing interest in Agent Based Modeling (ABM). Many people equate the type of problem to be solved with the tool. In other words, people think there is agent based simulation software and then there is discrete event simulation software. However, this is a simplistic and limited way to look at the issue. In fact, the term agent based does not describe the simulation tool, it describes the simulation problem. In its 35+ year history, Arena has implemented a number of features to model these sorts of agent based problems. In this Consultant’s Corner we will touch on some important capabilities: decision logic and control logic.
Decision logic is typically interwoven into the main logic of the model and is used to aid in guiding the proper path for the entity or to determine whether or not it is worth proceeding and how to react to changes in the system based on system conditions (length of queues, resources that are occupied).
Control logic is generally a logical loop that monitors the process and can be used to alter logic streams, remove or redirect entities, and change or update system conditions. The entities used in control logic typically do not have a physical real world equivalent, but are used solely to impact the system.
Two years ago I was on a cruise and noticed that there were protocols for how the ship operated based on whether or not there was a viral outbreak. To model this type of situation it would be necessary to add logic that would track and monitor the spread of an intestinal virus and the impact it may have upon the operation of the ship. Decision logic could be used to determine the likelihood of someone being infected upon arrival and once someone is infected additional decision logic may be used to update system variables as passengers move through different venues (e.g. restaurant, bathrooms, bars, theater, etc…). Control logic would then monitor the system variables that hold the status of those venues (infected, time of infection) and reset the status of venues based on time (virus dies) or cleaning of the venue. Control logic could also monitor the overall health of the passengers and trigger logic that would change how a restaurant operates if too many passengers are infected, for example shutting down self-service operations and putting staff in positions to serve food to the customers to reduce risk of transmission. Passengers moving through venues would pass through decision logic that would take into consideration the health and cleanliness of the individual and then compute the likelihood of infection when passing through infected areas. Infected entities could then behave differently than other entities or potentially infect other areas as they move around the ship.
The key to managing modeling situations like this is to understand the rules and define the behavior so that it can be adapted logically. Arena has a wide range of capabilities to enable users to model these sorts of agent based problems.
If you would like to learn about other capabilities built into Arena to facilitate agent based modeling, please contact us.