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
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_dynamicsAnyLogic 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: