Font size

System dynamics

“System dynamics is a perspective and set of conceptual tools that enable us to understand the structure and dynamics of complex systems. System dynamics is also a rigorous modeling method that enables us to build formal computer simulations of complex systems and use them to design more effective policies and organizations. Together, these tools allow us to create management flight simulators-microworlds where space and time can be compressed and slowed so we can experience the long-term side effects of decisions, speed learning, develop our understanding of complex systems, and design structures and strategies for greater success.”
John Sterman, “Business Dynamics: Systems Thinking and Modeling for a Complex World”

Developed by Jay W. Forrester in the 1950s, System Dynamics is “the study of the information-feedback characteristics of industrial activity to show how organizational structure, amplification (in policies), and time delays (in decisions and actions) interact to influence the success of the enterprise”. The range of system dynamics applications also includes urban, social, and ecological types of systems. In system dynamics, the real-world processes are represented in terms of stocks (that is, material, knowledge, people, money), flows between these stocks, and information that determines the values of the flows. System dynamics abstracts away from individual events and agents and takes an aggregate view focusing on policies.

When you use system dynamics to solve a problem, you look at how different parts of the system interact and cause changes in each other. These interactions form what are called “causal loops”. These loops can either keep things stable (balance) or make changes bigger (reinforce). Sometimes, there can be a delay before an effect takes place, so you should allow for the possibility of such delays. The figure below shows an example of a causal loop.

Simple system dynamics structure

In this classic textbook model of product diffusion, Potential customers become Customers at an Adoption rate that depends on advertising and word of mouth promotion.

Important things to know about system dynamics modeling:

  • As long as the model works only with aggregates, the items in that same stock are indistinguishable, they have no individuality.
  • The modeler must think in terms of global structural dependencies and provide accurate quantitative data for them.

Used primarily in long-term, strategic models, system dynamics assumes a high degree of aggregation of the objects being modeled: people, products, events, and other discrete objects are represented in system dynamics models by their quantities. As a result, they lose any individual properties, histories, or dynamics. If this level of abstraction is OK for your problem, system dynamics may be the way to go. However, if you feel that individual details are important, you can always re-conceptualize all or part of your model using agent-based or discrete event (process-centric) methods while staying within the same AnyLogic environment.

For more information on system dynamics, see Wikipedia: System dynamics.

AnyLogic supports the design and simulation of feedback structures (stock and flow diagrams and decision rules, including array variables — subscripts — in a way most system dynamics modelers are used to. You can:

How can we improve this article?