System Dynamics

System Dynamics

The System Dynamics (SD) methodology is typically used in long-term, strategic simulation models and assumes a high level of aggregation of the objects being modeled. People, products, events, and other discrete items are represented in SD models by their quantities so they lose any individual properties, histories or dynamics. If this level of abstraction is appropriate for your problem, SD may be the right method to use. However if individual details are important, you can always re-conceptualize all or part of your model using Agent-Based or Discrete Event (process-centric) methods without ever leaving the AnyLogic environment.

System dynamics modeling in AnyLogic

AnyLogic supports the design and simulation of feedback structures (stock and flow diagrams and decision rules, including array variables AKA “subscripts”) in a way most SD modelers are used to. You can

System Dynamics Simulation Modeling

Hierarchical and object-oriented modeling

AnyLogic naturally offers all the benefits of the OO approach to system dynamics modelers. You can define complex models in a hierarchical manner where logically separate parts of the stock and flow diagram are contained in different active objects and expose only their interface variables (as inputs or outputs). Moreover, you can develop a frequently met SD pattern, embed it in an active object class and reuse it as many times as you wish within one model or across models.

Combining system dynamics with agent-based and discrete event methods

System Dynamics Model

AnyLogic is the only tool that allows you to combine SD model components with components developed using agent-based or discrete event methods. This can be done in a number of different ways. For example, you can model the consumer market using SD and the supply chain using the AB approach. You can model the population of a city in a disaggregated way (as agents) and the underlying economic or infrastructural background in an SD style. You can even put SD diagrams inside agents. For example, SD can model the production processes inside a company, whereas the company may be an agent at a higher level. Technically, interfaces and feedbacks between SD and AB or DE are very easy. Some SD variables can be used in the decision logic of agents or be parameters of process flowcharts, and the latter in turn may modify other SD variables.

Try for free