Vensim provides a graphical modeling interface with stock and flow and causal loop diagrams, on top of a text-based system of equations in a declarative programming language. It includes a patented method for interactive tracing of behavior through causal links in model structure (the patent expired in 2012),[1][2][3] as well as a language extension for automating quality control experiments on models called Reality Check.[4]
The modeling language supports arrays (subscripts) and permits mapping among dimensions and aggregation. Built-in allocation functions satisfy constraints that are sometimes not met by conventional approaches like logit.[5] It supports discrete delays, queues and a variety of stochastic processes.
There are multiple paths for cross sectional and time-series data import and export, including text files, spreadsheets and ODBC. Models may be calibrated against data using optimization, Kalman Filtering[6] or Markov chain Monte Carlo methods. Sensitivity analysis options provide a variety of ways to test and sample models, including Monte Carlo simulation with Latin Hypercube sampling.
Vensim model files can be packaged and published in a customizable read-only format that can be executed by a freely available Model Reader. This allows sharing of interactive models with users who do not own the program and/or who the model author does not wish to have access to the model's code base.[7]
Applications
Vensim is general-purpose software, used in a wide variety of problem domains. Common or high-profile applications include:
^Peterson, David Walter (1975). Hypothesis, estimation, and validation of dynamic social models: energy demand modeling (Ph.D.). Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. hdl:1721.1/27424.
^Pruyt, E.; Kwakkel, J. H. (2014). "Radicalization under deep uncertainty: a multi-model exploration of activism, extremism, and terrorism". System Dynamics Review. 30 (1–2): 1–28. doi:10.1002/sdr.1510.
^Rahmandad, H.; Hu, K. (2010). "Modeling the rework cycle: capturing multiple defects per task". System Dynamics Review. 26 (4): 291–315. doi:10.1002/sdr.435.