Cory Welch gave a paper on using Analytica at the International System Dynamics Conference on why and how he uses Analytica for system dynamics (SD) models. He has extensive experience with systems dynamics, starting from his graduate studies at MIT, where the methodology was first developed. At the start of 2018, he founded his own firm, Lumidyne Consulting LLC. Previously, he was a Director at Navigant Consulting for 10 years and a researcher at the National Renewable Energy Laboratory. I was most intrigued and interviewed Cory to learn more:
Max Henrion: Before we get into your paper, how does Systems Dynamics (SD) differ from other approaches to modeling?
Cory Welch: Systems Dynamics has two key aspects: First, it models stocks and flows. Stocks are accumulation of stuff – physical stuff like water, money, people, or carbon dioxide – or nonphysical things – like one’s expectation of future prices. Flows are rates of change stocks, representing flows into or out of a stock. Second, it represents feedback loops between stocks and flows. Negative feedbacks include balancing cycles that move towards a target or equilibrium or that resist change by “pushing back” on the system. Positive feedbacks accelerate changes, such as where a new technology like electric vehicles get cheaper as a function of the volume produced, which drives faster adoption. Feedback loops, positive and negative, generate the complex nonlinear behavior typical of dynamic systems.
How did you first learn about SD?
I took several courses in grad school while pursuing an MBA at the MIT Sloan School of Management.
What tools did you use?
I first built SD models using Vensim, the most commonly used package in the SD community.
Why did you first try Analytica?
I learned about Analytica at NREL [the National Renewable Energy Lab in Colorado]. NREL did an exhaustive search for a new platform for a complex energy-economic model – at the end of which they selected Analytica. I soon learned that it had much in common with classical SD software, but had several valuable additional features.
What were your initial reactions to learning Analytica?
It was very easy to learn. Its array abstraction offered so much more flexibility and ease in creating models than other tools, including Vensim and Matlab, both of which I’d also used a lot. I liked Analytica’s ease of use and user interface and ability to see how model is constructed.
Why did you decide to write this paper?
I’ve wanted to write it for many years. It’s a bit of a shame that most of the SD community is unaware of Analytica and are therefore limited in the kinds of models they can build. I wanted to show how easy it is to create an SD model in Analytica with some minor tweaks.
In this paper, you compare Analytica to Vensim. What are the similarities?
A primary similarity is that they are icon-based visual modeling tools that show relationships between variables with icons and arrows. You click to open variables and see their formulas. They both make it easy to add documentation to your model.
What are the major differences?
The biggest differentiator between Analytica and not just Vensim, but all SD platforms, is the ease with which you can construct multidimensional models. Analytica’s Intelligent Arrays makes that much easier. It takes a lot more programming effort in other platforms.
What are the key advantages of Analytica?
Its influence diagrams and Intelligent arrays
Another big one is optimization. Other SD platforms have limited optimization capability, using best fit for just a few parameters. Analytica can automatically formulate an optimization problem after you define decisions and an objective.
I have developed models for which it automatically formulated and solved millions of linear programs (LPs). For the Northwest Power Council, I created large nonlinear program (NLP) that is stochastic and dynamic. Within each model run, it solves many LPs for optimal dispatch of electric power from multiple power plants. It also adds new generation capacity, gas, wind, or solar, to minimize system cost under multiple constraints, meeting energy and peak demand over a random sample of futures, representing uncertainty about demand, costs, and many other factors. It runs thousands of LPs for each run and does hundreds of Monte Carlo runs to represent uncertainty over possible futures. That combination would not have even been possibility in other SD platforms. But it still models all the stocks, flows, and feedbacks. So I get the best of both worlds with Analytica.
When would you recommend someone to use Analytica?
For any model with more than two dimensions, which is most models of any consequence. Dimensions may include time, of course, for dynamic systems, uncertainty scenarios (Monte Carlo runs), different plant types, geographic regions, and so on. Also, if the model uses optimization. And especially, if all of the above, dynamics, uncertainty, optimization, and so on. With Analytica the actual coding is far simpler than any other platform I have worked in.
How much do you use Analytica versus other tools?
I primarily use Analytica for the modeling I do. My firm also uses R for analytics with large data sets.
Where did you present this paper?
The Annual Systems Dynamics Conference in Cambridge, MA in August 2017.
What kind of response did you get?
People tend to get stuck in their ways and find it hard to use different tools even when locked into an inferior technology. For example, look at how many people still use MS Excel for modeling. But a small number of people latched onto it. And one person said my talk made his whole trip worthwhile!
Give Analytica a try for your system dynamics problems – download Analytica Free 101, then walk through our system dynamics tutorial and explore the completed fox and hare dynamics model. You can also explore one of our system dynamics example models, like the regulation of photosynthesis.
Read Cory’s paper here: Cory Welch, Making the Case for Using Analytica® for System Dynamics Modeling: A Reference Guide and Comparison with Classical Platforms, Annual Systems Dynamics Conference, Cambridge, MA, August 2017