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