If you don’t get the answer you want here check out the discussion forum at http://www.ventanasystems.co.uk/forum.
Modeling Concepts (8)
Feedback is a process in which a decision or action causes changes to occur which, after a time, cause a revision of the decision or action. For example, if you are trying to catch a person running in front of you it is necessary to run faster till you get beside them and then slow down to match their pace. Though feedback is a very simple concept, its implications can be quite surprising. Feedback loops typically involve more than one person or organization, each responding to the actions of another in such a way as to, eventually, change the behavior of others. Arms races, stock market bubbles, inner city degradation, and instability in manufacturing volume requirements are all examples of behaviors that result from feedback. Diagram of a feedback loop.
Technically, Vensim and other system dynamics packages are capable of solving systems of lumped ordinary difference or differential equations. We often refer to Vensim as supporting continuous simulation. What this means is that it is best suited to situations where most of the variables change continuously, and not in increments. This is to be contrasted with discrete event simulation in which individual entities are tracked and the results added up to report behavior. While it is possible to make discrete variables in Vensim, this is usually only sensible if there are a small number of such variables relative to everything else in the model.
A discrete event simulation moves forward by allowing each entity to choose the next time it needs to do something (be fully assembled, change to a different workstation, and so on). For this type of modeling it is desirable to have a clock that jumps from time to time and only does the things that need doing at that time. It is possible to make Time jump from place to place in Vensim. However at each time everything gets done. This is very inefficient for discrete even style simulation where only one out of say 100,000 things might need to be computed.
Systems thinking is a general term for looking at things systemically and thinking in terms of feedback. One of the major tools of systems thinking is the causal loop diagram, and another is the system archetype. The term systems thinking was made popular by the publication of the book The Fifth Discipline by Peter Senge. Some people consider systems thinking to be broader than this, including such concepts as double loop learning as developed by Argyris.
A causal loop diagram is a picture containing words and directed arrows connecting those words, usually with at least one closed loop representing feedback. Causal loop diagrams can easily be created using a pencil and paper. Vensim supports the creation and analysis of causal loop diagrams. Causal Loop diagram
An archetype is an abstraction of a feedback structure that is known to generate a particular type of behavior. For example, escalation is an archetype in which two organizations try to exceed a capability of the other and end up simultaneously growing that capability. An arms race is an example of the escalation archetype. Archetypes were made popular in The Fifth Discipline.
A simulation is a calculation of the implications of all the relationships that have been specified for the variables in a model. Simulations in Vensim result in the behavior (over time) of all the variables in the model. These results are normally reviewed as time graphs or tables.
System Dynamics is the study and analysis of dynamic feedback systems using computer simulation. The field of system dynamics has been developed from the work of Jay Forrester to integrate engineering techniques for understanding feedback control systems into the study of social and business policy. For more information, see the Resources page or the web site for The System Dynamics Society.
These go by various names, including learning environments, management simulators, custom applications, Vensim applications (Venapps) and more. They are a simplified interface which allows an inexperienced user limited access to a simulation model. Learning environments allow the user a few choices to set up or run a model, and present output information in a custom interface, without the need to learn specialized modeling software. Environments can be designed to run a model through a full simulation time period, or they can be designed to allow the user to step through a simulation at certain time intervals. In this fashion, a user can change constant values during the simulation to try and “control” a system. In Vensim, this is called playing a “Game” and Vensim is run in gaming mode. Read more about Vensim applications.
In almost all cases just use Edit>Copy in Vensim (or Ctrl+C) and then paste them into your other application. For tool output Vensim also has a little button you can click on to do this.
By default, variables are entered in clear boxes. For variables already created, right click (or control click) on the variable name and select the shape “None” For variables you are putting onto the sketch using the Variable tool, change the option for the tool to Shape “None”. Or go to Tools>Options>Sketch and uncheck “Start Words in Clear Box.”
Bent Pipes: Start the rate as usual (select the Rate tool and click once on a blank part of the sketch or on a level), then move the cursor to a place you want the pipe bent, hold down the shift key and click once on the sketch. This drops a “corner”. If you want more bends/corners, keep holding down the shift key and click on the sketch. Finish the rate by clicking without holding the shift key down.
Split Pipes: Rate pipes can start or stop at three places: at a cloud on the sketch, at a level, and at a valve. If, for example, you want a single rate to come out of one level and then to split and feed into two levels, this is how you do it. Create the three levels. Join two together with a rate. Again with the Rate tool, click on the valve of the first rate, then hold the shift key and click on a blank part of the sketch near the third level, then click on the third level. (This makes Vensim put the rate pipe on the sketch and bend it near the third level. If you don’t do this, you might find that Vensim draws the pipe with its bend through the second level, because pipes can only be horizontal or vertical.)
You can also make the illusion of a pipe splitting off somewhere other than a valve (see page 22 of the Vensim Modeling Guide) by clicking on the valve, then creating a bend on top of the existing pipe, then making another bend near the level and finishing on the level. The two pipes will be drawn exactly on top of each other, creating the illusion of a single pipe at that point.
The packman icon deletes things — just click on the arrowhead with it (clicking on the handle no longer deletes the arrow).
1) If you are wanting to join the arrowhead end of a rate (that drops into a cloud), using the Hand tool, drag the arrowhead of the rate onto your box variable, or
2) If you don’t have an arrowhead (pipe comes out of a cloud), or even if you do have an arrowhead, using the Merge tool, drag and drop the box variable onto the arrowhead or cloud.
3) PLE and PLE Plus do not have a Merge tool. To connect a box variable to the cloud of a previously inserted rate, select the Rate tool, click on the box variable and then click on the valve of the rate (not on the cloud). Then use the Delete tool to delete the cloud.
Advanced Features (5)
Vensim has a large number of built in functions, but these are not always enough. Suppose, for example, you would like to allocate production among different facilities at each time in a simulation. If the best way to do this is to use a Linear Program, then an external function can be constructed to do this. The external function is written in a programming language (usually C or C++) and then compiled into a dynamic link library (DLL) which is loaded by Vensim.
Compiled simulation is a technique for speeding up simulation. The model equations are written out as a C program which is then compiled and linked with Vensim as a DLL. Fast simulation is especially important for optimization.
Subscripting allows you to create a piece of model structure and equations (for example, a store) then “subscript” it to produce multiple stores, all with the same structure but with their own constant values, inputs, and outputs. Read more about subscripting.
Optimization can be used in several ways in Vensim. Model calibration allows you to take external “real world” data and then optimize model parameters (constants) so that the model best fits the external data. Policy optimization allows you to maximize (or minimize) one or many policy parameters. For example, you might optimize multiple parameters such as worker numbers, capital spending, etc., to maximize profit while minimizing production time, and all constrained by certain limits. Optimization is performed using a modified Powell hill climbing algorithm. Read more about optimization.
We have experimented extensively with genetic algorithm optimization and found that the results are very poor. For problems with many optima, the simulated annealing capabilities of the Markov Chain Monte Carlo algorithm may be helpful (see the 6.0 release notes). It’s easy to implement alternative algorithms using the Vensim DLL, for people who want to pursue this line of research.
Getting Started (3)
Analysis tools act on a selected variable to show something: a graph of behavior, a tree diagram of connected variables, the variable’s equation, all the feedback loops passing through it, and other information.
Several analysis tools allow you to perform Causal Tracing® A Causes Tree diagram shows a selected variable and the variables that “cause” it to change (up to 3 connections distant — this is adjustable). Selecting a variable in this tree and clicking the Causes Tree tool again creates a tree diagram of that variable. In this way, you can trace the causes (or uses) of a variable throughout a model. A Causes Strip Graph displays behavior for the selected variable and all the variables directly connected to it so that you can see which variables contribute which types of behavior. Selecting one of these variables and clicking the Causes Strip Graph again traces the behavior for that variable and variables directly connected to it. You can continue to trace sources of behavior throughout your model. This is useful for discovering which feedback loops contribute certain types of behavior in a model (growth, decay, etc.). Read more about Causal Tracing.
Simulations produce a “dataset” of output values for every variable in the model. This allows you to do “scientific experiments” on the model, saving each simulation as a different named experiment for later comparison. No need to perform repeated simulations just to look at other variable’s behaviors. Graph showing multiple experiments.
Data IO (2)
Vensim (except PLE) supports the importation of times series data from spreadsheets, but if you are just looking at one time (either for initial conditions or constants) this is not efficient. To set for, for example, initial population from a spreadsheet, set the spreadsheet up in the form:
USA MEX CAN
initial population[country,male] 1 2 3
initial population[country,female] 2 3 4
Save the spreadsheet as a CSV (comma delimited) file. The first row, because it contains no values in the first column, is treated as a comment. Then in the model just enter an equation such as:
initial population[country,sex]=1 ~Person~|
Then enter the CSV file you created from the spreadsheet as a changes file in the simulation control dialog. Note that it is important to be sure that the order of subscripts in the subscript definition
country: USA,MEX,CAN ~~|
is the same as the order in the spreadsheet.
There are a number of options for communication, starting with the clipboard. Vensim can also easily import or export data and constants from other sources. For dynamic control of Vensim’s behavior, the Vensim DLL allows you to control Vensim from Visual Basic, Delphi or any other programming language.
All the products share essentially the same interface and each is a superset of the one that precedes it. Vensim PLE Plus adds to PLE easier use of data, and Monte Carlo or sensitivity simulation capabilities. Professional allows you to use subscripts to represent more detail with less effort, and also supports optimization. Vensim DSS include the ability to construct management flight simulators and also to use external functions and compiled simulations. There is a comparison chart here.
For model building, Vensim and other system dynamics languages have a great deal in common. The available functions and default graphical presentations are similar. Vensim is more flexible than most in the appearance of the model diagram, allowing you to easily mix stock and flow and causal loop elements.
On the analysis side, Vensim is unique. It contains a set of Analysis tools that use the structure of the model to present information to quickly find problems and investigate sources of behavior. Our patented Causal Tracing®capabilities allow you to instantly see the behavior of a variable and the variables that connect to it.
Vensim is also very strong in terms of capacity, performance and functionality. Simulation speed is fast, the optimization capabilities are powerful. The sensitivity analysis is both fast and powerful, there are no practical limits on model size, and it is easy to extend the base capabilities using external functions of the Vensim DLL.
Other than memory, there are no limitations to the size of models. Some people have models with millions of variables when all subscript dimensions are expanded. The 64-bit version of Vensim further extends the limits, by providing access to huge memory space. Such models take a long time to simulate and create very large output datasets, and therefore need to be treated with care.
If you select electronic delivery an email is sent with download and install instructions and you can start using the product right away. We normally ship products within one day of receiving the order, online order are processed in real time. In the US we ship CDs via priority mail and it normally takes 2 days. For international orders, shipment times vary. More information on purchasing.
Vensim PLE is free for academic use because we want to make it easier for more people to learn system dynamics. We especially want to lower the barriers of entry for students. We also hope that people who learn with Vensim PLE will start to use the modeling approach seriously in their work and therefore pay the shareware license fee, or choose to purchase a more advanced version of Vensim.
Vensim PLE has no built-in limitations. It it a simplified version of Vensim designed for learning how to build and analyze models. We removed all functionality not relevant to learning modeling skills. Very few settings or options can be changed making the software behave the same for everyone. Vensim PLE is a serious tool for building and using system dynamics models. For many people it will be completely sufficient.
The Vensim family of software runs on Windows Vista/7/8/8.1/10 (it should also work on Windows XP, but is unsupported). Vensim is a 32 bit program but will run fine on 64 bit versions of Windows. The Macintosh version requires OSX version 10.4 or higher that can run 32 bit software. The Windows Version will run on the Macintosh using emulators like VMware or Crossover, or with a Windows virtual/alternate boot installation. Vensim requires about 20 megabytes of disk space for a full installation and will run with any reasonable amount of memory. For very large models more memory and disk space will be required as a single run can easily take 100 megabytes of disk space. Generally it is a good idea to have at least as much memory as the size of the largest .vdf file you are creating.
Installation on the Mac, “InstallVensim” can’t be opened because it is from an unidentified developer.
You have encountered the OSX security system which injects a note of caution when opening executables which come from unregistered developers.
You should be able to open the file by right clicking on it, select “Open” and saying yes to any “are you sure?” questions.
Note, this mechanism cuts in for any files that have come from unknown sources not just Vensim.
For more information, search on Google and you will find ways to bypass the warning.
Section 1 of the licence details how Vensim can be installed.
No, as it violates the licence agreement. But there is a workaround for academic institutions. Download this form Educational-Discount-Policy-PLE.pdf (248 downloads) , please complete it and email it to us at email@example.com for more information.
Please make sure you install Vensim using administrative permissions. On most versions of Microsoft Windows, it’s as simple as right clicking on the Vensim executable and selecting “Run as administrator”.
If you get an error similar to “Help file cannot be opened: C:\Program Files (x86)\Vensim\help”, you need to reinstall Vensim with administrative permissions.
This is explained at
You will have received this when you purchased Vensim. If you have misplaced it, please contact us at firstname.lastname@example.org and give us as much information about the purchase as you can (such as company name, date purchased or serial number) so we can track it down in our database.
If you are using PLE for academic use, you do not need a code. Please read the instructions and select the correct options during installation.
If the documentation on the Mac is not working, try fixing the permissions. A quick search on the web will give you details on how to do this.
When attempting to download, I get a “Please go back and read the download instructions fully” message.
The download system is automated. If you receive this message, it’s probably due to one of the following reasons.
- Browser issues. Try a different browser, especially if using Safari on the Mac.
- You did not tick the box below titled “please tick this box”.
- You entered your email address incorrectly.
Vensim is exported under the generic ECCN NLR (No License Required).