System Dynamics Modeling

“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 “the study of 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 includes also urban, social, ecological types of systems. In System Dynamics the real-world processes are represented in terms of stocks (e.g. of material, knowledge, people, money), flows between these stocks, and information that determines the values of the flows. System Dynamics abstracts from single events and agents and takes an aggregate view concentrating on policies. To approach the problem in SD style one has to describe the system behavior as a number of interacting feedback loops, balancing or reinforcing, just like shown on the figure below, and maybe delay structures. 

In this classic textbook model of product diffusion Potential Adopters become adopters at Adoption Rate that depends on advertising and word of mouth promotion. 

Important things to know about system dynamics modeling:

System Dynamics is mostly used in long-term, strategic models and assumes high level of aggregation of objects being modeled: people, products, events, and other discrete items are represented in SD models by their quantities. Therefore they lose any individual properties, histories or dynamics. If this level of abstraction is OK for your problem, SD may be the right method to use. If you feel however 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 staying within the same AnyLogic environment.

You can find more information on system dynamics in wikipedia: http://en.wikipedia.org/wiki/System_dynamics

Here, in AnyLogic help documentation, we assume that you are already familiar with basic concepts of system dynamics modeling approach. If you want to get into details and study this modeling paradigm thoroughly, we can recommend you to study the classic system dynamics book: John Sterman, “Business Dynamics: Systems Thinking and Modeling for a Complex World”. All models covered in this book are included into AnyLogic distribution package, you can find them in the Example models set, in "Business Dynamics" Book Models section.

AnyLogic supports 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: