JuliaDynamics/Agents.jl

Agent-based modeling framework in Julia

What it solves

Agents.jl provides a high-performance, general-purpose framework for agent-based modeling (ABM). It allows researchers and developers to simulate how autonomous agents interact with each other and their environment based on a set of predefined rules, reducing the complexity and amount of code required to build these simulations.

How it works

The framework operates by defining agents that react to their environment and other agents. It supports both traditional discrete-time simulations and continuous-time "event queue" based simulations. It also integrates natively with Reinforcement Learning (RL) and allows for simulations to be conducted on Open Street Maps.

Who it’s for

It is designed for scientists and developers who need a performant, easy-to-learn tool for creating complex computational simulations of autonomous agents.

Highlights

  • High performance, typically faster than established competitors.
  • Minimal code complexity and a short learning curve.
  • Extensive interface with thousands of out-of-the-box agent actions.
  • Native integration with Reinforcement Learning (RL).
  • Support for simulations on Open Street Maps.