Agent Systems Tool | Agent-Based Modeling
In this video, we’ll discuss FlexSim’s Agent Systems and what this can add to your simulation models.
The Agent Systems tool is a set of features that will help you add agent-based systems and behaviors to your models. This tool is useful for any simulation model that wants to account for the interactions of people or other entities as they move through a system. Right now, in 2020, the Agent Module can be very useful in considering social distancing and disease spread.
Each Agent System you’ll create in FlexSim is made up of Agents and Behaviors. The Agents are the members of your system. Agents are usually people, but they can also be forklifts, automated guided vehicles, or any other number of entities. And what they *do* is follow the Behaviors you set in the system.
Behaviors are like rules for your Agent System. Each Behavior will have an Update Interval—maybe it’s one second, maybe it’s a longer or shorter amount of time… but at each Update Interval, the system will check each of the Agents and will apply forces, triggers, or other actions based on the Behavior criteria that you set up. Simple enough, right?
The Agent System will start with two main Behaviors: Proximity Detection and Social Force. The Proximity Detection Behavior does exactly what it sounds like—it detects the proximity between Agents in the system. First, you’ll set a Proximity Radius for the Behavior. Then, you can choose Active Rules to specify exactly when this Behavior is applied. Finally, you can then use Triggers to define what happens when an Agent either enters, exits, or remains in the proximity of one or more other Agents.
How can FlexSim keep the simulation fast while constantly updating the Agent System’s Behaviors? The secret is using Bounding Volume Hierarchy, which intelligently partitions the spaces that the Agents occupy. This allows FlexSim to search these bounding volumes to quickly find the neighbors closest to the Agent. You can see this in action by checking the box to “Show Bounding Volume Hierarchy” in the General tab.
The second main Behavior is Social Force. The idea here is that your Agents are sort of pushed around based on different forces, such as the state of the Agent or their proximity to the neighbors around them. A classic example of this is the program Boids, which simulates the flocking behavior of birds. The Social Force Behavior allows you to define a set of social forces on each Agent in your system. You have many different pre-built force options to mix and match—in fact, there are too many to cover in this video. And if you need something really specific, FlexSim also gives you the option to develop your own Custom Forces.
Thanks for watching, and we hope you enjoy FlexSim’s Agent Systems!