simulation

Effects of domain experience in the stock-flow failure

Latest articles - Tue, 27/07/2010 - 00:14
Misperceptions of stock and flow relationships are pervasive and an important problem to solve in system dynamics. Prior studies have shown that individuals perform poorly on accumulation problems, even when considering relatively simple systems, an effect termed the Stock-Flow (SF) failure. This study examines the effects of domain experience in overcoming the SF failure. We compared performance of medical students and undergraduates with no medical education on accumulation problems in medical and general domains. Medical students performed better than undergraduates only in some of the problems (including the general domain problems), and they performed equally poorly as undergraduates in problems that required medical domain experience. There was no correlation between performance in the stock and flow problems and either duration of medical education or age. Thus we conclude that domain experience is not a strong indicator for overcoming the SF failure. Copyright © 2010 John Wiley & Sons, Ltd.
Categories: simulation, strategy

Why DT Matters

Latest articles - Mon, 19/07/2010 - 22:13

After reading Karim Chichakly’s recent post on Integration Methods and DT, I was reminded that DT (delta time) had always been a tricky modeling concept for me to grasp. Karim’s post digs into DT’s role in the mathematical heavy lifting that STELLA and iThink do in the background, but what does just altering the DT setting you find in the Run Specs menu affect your model? For basic modeling it may be a setting that you never change, or even have to think about since STELLA and iThink set it to a useful default value (0.25) for you. But once you progress to more advanced models, what are the advantages and the risks to playing with DT?

The DT setting is found in the Run Specs menu

By definition, systems models run over time, and the DT, or delta time, controls how frequently calculations are applied over a time unit. Think of it this way, if your model was a movie, then DTs would be the still frames. For a simulation over a period of 12 hours, a DT of 0.25 would give you data for every 15 minutes. Raising the DT setting to 0.0167 (~ 1/60) would give you information for every minute. The smaller the decimal (or fraction), the more the time unit is split up to apply the calculations, bringing your model closer to the behavior of a smoothly contiguous system. This may sound like a good thing, but more is not necessarily better. A higher frequency of calculations will slow down a model’s run performance and can cause behaviors that you might not expect. In fact, there are a few ways that changing the DT setting can start producing problems and unwanted results.

Categories: simulation, strategy

Integration Methods and DT

Latest articles - Wed, 14/07/2010 - 21:51

The simulation engine underlying STELLA® and iThink® uses numerical integration. Numerical integration differs from the integration you may have learned in Calculus in that it uses algorithms that approximate the solution to the integration. The two approximations currently available are known as Euler’s method and the Runge-Kutta method. All algorithms require a finite value for DT, the integration step-size, rather than the infinitesimally small value used in Calculus. On the surface, it may seem that the smaller DT is, the more accurate the results, but this turns out not to be true.

Compound Interest: Euler’s Method over Runge-Kutta

To introduce Euler’s method, let’s take a look at the simple problem of compound interest. If we have $100 that we invest at 10% (or 0.1) compounded annually, we can calculate the interest after N years by adding in the interest each year and recalculating:

1st year: interest = $1000 × 0.1 = $100; Balance = 1000 + 100 = $1100
2nd year: interest = $1100 × 0.1 = $110; Balance = 1100 + 110 = $1210
3rd year: interest = $1210 × 0.1 = $121; Balance = 1210 + 121 = $1331

And so on up to year N. We have just seen the essence of how Euler’s method works. It calculates the new change in the stock for this DT (in this case, interest) and then adds that to the previous value of the stock (Balance) to get the new value of the stock. In this example, DT = 1 year.

By noticing we always add the existing balance in, we can instead just multiply the previous year’s balance by 1 + rate = 1 + 0.1 = 1.1:

1st year: Balance = $1000 × 1.1 = $1100
2nd year: Balance = $1100 × 1.1 = $1210
3rd year: Balance = $1210 × 1.1 = $1331

And so on up to year N. We can further generalize by noticing we are multiplying by 1.1 N times and thus arrive at the compound interest formula:

Balance = Initial_Balance*(1 + rate)^N

Checking this, we find our Balance at the end of year 3 is 1000*1.1^3 = $1331. In the general case of the formula, rate is the fractional interest rate per compounding period and N is the number of compounding periods (an integer). In our example, the compounding period is one year, so rate is the annual fractional interest rate and N is the number of years. However, if interest is compounded quarterly (four times a year), the interest rate has to be adjusted to a per quarter rate by dividing by 4 (so rate = 0.1/4 = 0.025) and N must be expressed as the number of quarters (N = number of years*4 = 3*4 = 12 for the end of year 3). We can use this formula in our model to test the accuracy of Euler’s method. Note that for quarterly compounding, we would set DT = 1/4 = 0.25 years.

To explore the differences between Euler’s and Runge-Kutta, the following structure will be used for all of the examples in this post. This structure models the compound interest problem outlined above.

The equations change for each example and can be seen in the individual model files (accessed by clicking here). For this example, the actual value is calculated using the compound interest formula, Initial_Balance*(1 + rate)^TIME. The approximated value is calculated by integrating rate*Approx_Balance (into Approx_Balance).

In addition to the actual and approximate values, three errors are also calculated across the model run: the maximum absolute error, the maximum relative error, and the root-mean-squared error (RMSE). The absolute error is:

ABS(Actual_BalanceApprox_Balance)

The relative error is:

absolute_error/ABS(Actual_Balance)

and is usually expressed as a percentage. The RMSE is found by averaging the values of the absolute error squared, and then taking the square root of that average.

Running this model under Euler’s method leads to the behavior shown in the following graph. As expected, Euler’s method tracks this function perfectly. All three errors are essentially zero.

However, changing the integration method to Runge-Kutta 4 (known as RK4) does not give a good approximation (see graph below). The relative error is 1.6%, the absolute error is $56 and the RMSE is $26, all rather large for RK4. DT must be reduced a factor of 32, to 1/128, in order to bring the errors below 0.1% (0.001).

Continuous Compounding: Runge-Kutta over Euler’s Method

Our friend Euler was a busy mathematician. He is also famous for discovering the formula for continuously compounding interest. If you increase the frequency of compounding from once a year to once a month to once a day (what most banks do now and called “daily compounding”) to once a second and so on until you are compounding every infinitesimally small instant (which should remind you of the dt from Calculus), the compound interest formula becomes:

Balance = Initial_Balance*e^(rate*time)

where e ≈ 2.718281828 is Euler’s number, rate is the annual fractional interest rate, and time is the number of years that have passed (a real number). Using continuous compounding, our Balance at the end of year 3 is 1000*e^(0.1*3) ≈ $1350, $8 more than with annual compounding.

This function is known as continuous function, which, in layman’s terms, means its value smoothly changes with time, rather than experiencing jumps or gaps. [Note the compound interest formula given in the first section is not continuous; since N must be an integer, this function only exists at integer values.] While Euler’s method does not depend on a function being continuous, it does introduce an error proportional to DT when trying to integrate these equations (called truncation error). Thus, the only way to reduce these errors is to reduce DT, requiring more computations. Unfortunately, this only works up to a point. Below that point, errors increase again due to round-off error in the computer’s finite representation of floating point values.

The graph below shows the effect of using Euler’s method to calculate continuously compounding interest. Note it does not follow the actual curve, calculated with the EXP function, very well. The relative error is 1.6%, the maximum error is $56, and the RMSE is $25. If we cut DT in half, to 1/8, the errors also cut in half as we expect, to 0.8%, $29, and $13, respectively. This will continue until DT reaches the limit of the machine’s representation, which is approximately 1/2048 for single-precision floating point numbers and 1/67,108,864 (1/2^26) for double-precision floating point numbers (note STELLA and iThink always use double-precision). After this point, errors will increase again. Note these values are theoretical; your mileage will vary.

There is a better solution than reducing DT. The Runge-Kutta integration method assumes a continuous function and takes steps to follow such a function very closely. Because it uses a weighted average of values across each DT-interval, it does not perform well with discontinuous functions, i.e., functions that have gaps or sharp changes, such as that produced with the STEP and PULSE functions (however, STELLA and iThink compensate for this so that these functions still perform correctly under Runge-Kutta). Leaving DT at 0.25 and changing the integration method to RK4 produces the following graph, with the largest relative error being 0.0077%, the largest absolute error being $0.27 and the RMSE being $0.14. To achieve this level of accuracy with Euler’s method, it is necessary to reduce DT to 1/1024.

The number after the RK is the order of the integration method. Typically, but not always, higher-order methods will give smaller errors. Euler’s method is a first-order method and RK4 is a fourth-order method. Note, however, that Euler’s outperformed RK4 in the first example. STELLA and iThink also provide a second-order method, Runge-Kutta 2 (RK2), which is a compromise between Euler’s and RK4; with the speed of today’s computers, it is no longer necessary to use and remains only for backward-compatibility.

Oscillations: The Case for Runge-Kutta

Oscillations represent one area where RK4 really shines. The following graph shows the results of using Euler’s method to integrate the sine function with DT = 0.25. Notice it misses horribly. The resulting function is clearly outside the range of the sine function [-1, 1]. The maximum absolute error is 0.25 and the RMSE is 0.15. However, the maximum relative error is 340%!

Reducing DT by a factor of 128 to 1/512 helps somewhat (below). The maximum absolute error reduces to 0.0020 and the RMSE to 0.0012, but the maximum relative error only decreases to 200%.

On the other hand, if we leave DT = 0.25 and change the integration method to RK4, it calculates the sine function quite well, with a maximum absolute error of only 0.0078 and an RMSE of 0.0045. The maximum relative error is also acceptable at 2.2%. Cutting DT in half to 1/8 reduces the maximum relative error an order of magnitude, to 0.34%.

Guidelines for DT

DT should initially be set to one-half of the smallest time constant in your model. This minimal value, according to Nyquist’s Sampling Theorem, avoids undersampling your values. [Undersampling means looking at your signal so infrequently that you distort the signal, or, more to the point, do not have enough information to reconstruct it. For example, in the sine wave above, evaluating it every π will make you think you have a straight line at the origin, since all you will see are the zeroes.]

Finding the smallest time constant can be tricky. They often appear in compounding or in draining processes. For example, in the first two examples, the interest rate is the reciprocal of the time constant (it always appears in the divisor). Thus, the time constant for this compounding formula is 10. This suggests DT could start at 5, but there are other constraints. In fact, we wish to compound every quarter, so DT must be set to 1/4.

Run the model with your chosen DT. Then cut DT in half and try again. If the results change, cut DT in half and try again. If they do not change, the previously chosen DT is likely fine.

Whenever possible, choose a value of DT that is a power of 2 (1, 1/2, 1/4, 1/8, 1/16, … or 1, 0.5, 0.25, 0.125, 0.0625, …). This is because most other fractions, for example 1/10, are repeating decimals in base-2 and so cannot be accurately represented on the computer. Obviously if your problem requires you to use a DT of 1/7, in weekly simulations for example, do so, but understand that adding 1/7 seven times will not equal one. There are also other cases where you might need to use a DT that is not a power of 2. If your smallest time constant is 1/52, for example, choosing the closest power of 2 to (1/52)/2 = 1/104, which is 1/128, would be disastrous. Your time constant would then be 1/64 sometimes and 1/32 other times, not at all close to what you need. Make sure you can represent your smallest time constants as a multiple of whatever DT you choose.

Guidelines for Integration Method

Changing DT is often not sufficient. Your system may exhibit instabilities or wild oscillations caused by the errors in Euler’s method. It is therefore also wise to always run the model in Euler’s and then in RK4. If there is a difference, stick with RK4 and proceed to test DT.

Euler’s method is noticeably faster than RK4 and works fine in many situations. A system that has linear relationships and uses exponential functions that are not based on Euler’s number will work fine using Euler’s method. For qualitative results, Euler’s will work well in a broad variety of situations. Euler’s is also the preferred method when you are using discontinuous or discrete functions (but note the discrete functions in STELLA and iThink are Runge-Kutta-aware and should work reasonably well under RK4).

Any continuous system that is based on exponential functions using Euler’s number as a base, and this includes trigonometric functions, oscillations, and logistic functions, will be better served by RK4. In these cases, you should generally use this method from the start.

There is one additional type of system you may run into that neither of these methods will solve very well: stiff systems. In simple terms, a stiff system is one that has time constants of wildly different magnitudes, for example, 0.005 and 10,000. The smaller time constant suggests a DT of 0.0025 which is far too small for the part of the system with a time constant of 10,000. It is best to reframe your problem to avoid these situations when possible. For example, when simulating such a system, the part of the system with a time constant of 10,000 can often be considered constant over a shorter period of interest. Over long periods of interest, it is often possible to aggregate the behavior of the part of the system with the shorter time constant, using averages instead of exact values.

Note: The integration method and DT are both set in the Run Specs, accessible from the Run menu. Additional information can be found in the chapter on DT in the Technical Documentation.

Categories: simulation, strategy

Gulf Oil Leak: A Systems Thinking Perspective

Latest articles - Wed, 30/06/2010 - 19:11

Editor’s note: This is a guest post by isee’s consulting & training partner Chris Soderquist

It’s been a little over 10 weeks since the Deepwater Horizon oil rig explosion that has resulted in a constant flow of oil into the Gulf of Mexico. Oil is now beginning to impact the economy of the Florida coast. Some estimate that the disaster could cost nearly 200,000 tourism jobs. Efforts to remove the impacts on the environment, including a massive rescue of manatees could cost billions. The ability to truly restore the environment to pre-April 20 conditions is beyond that of mere mortals. It is an event truly unprecedented.

Who’s to Blame?

The current media focus has centered on an activity I refer to as the Find the Knucklehead Game. The idea is that there must be someone out there to blame, tar and feather, and that if we just remove the idiot from the system we’ll never have this problem again. Finé. Complete. Case closed! (And there was great rejoicing…)

However, if we begin to apply the systems thinking paradigm, there’s another analysis that might suggest we are in a long-term trend that is still just ramping up – and that if we don’t take action soon the impact on the economy and environment may be much worse.

A Systems Thinking Perspective

Two of the skills required to practice systems thinking are Dynamic Thinking and 10,000 Meter Thinking. If we look at the history of oil extraction from the balcony, as a long-term trend over time, we see something that may be quite useful. Let’s apply a concept developed by Charles Hall (SUNY-College of Environmental Science and Forestry) called EROI (“energy return on investment”). EROI is the ratio between the energy we receive – to run our transportation system, heat our buildings, run electricity generators – and the amount of energy required to get the raw material out of the ground and process it into usable form. In the early 20th Century, oil was easy to extract. In many places it was just below the surface in the wide open fields. The EROI was 100:1 in 1930 – 100 units of energy received for 1 unit of energy extracting/processing. Since then there has been a marked decline, and as the United States passed peak oil production (the maximum production rate) in the early 1970s, and as we’ve begun importing most of our oil, the EROI for oil in the US is approximately 20:1.

Charles Hall's Energy Return on Investment Graph

Why the marked decline? Because the purest, easiest to extract/process oil has likely been found and burned (leading to too much in our atmosphere, but that’s another point). We now need to go to more distant places (no longer fields) – offshore, into the Arctic – to find oil. Often the oil is no longer in purest form; converting the “oil goo” from the tar sands in Alberta, Canada is a prime example.

Continuation of a Trend

Using the systems thinking perspective, we may conclude that the “event” of Deepwater Horizon is an inevitable continuation of a trend (that includes the Exxon Valdez). And that the trend is likely to get worse as our need (thirst) for oil increases – which will occur as developing nations continue trying to catch up to the developed world, and as we hope for “economic recovery.”

This leads to several questions in my mind.

  1. If it’s true that the easiest to extract and process oil has been found and used, what’s this indicate about the risks we’ll incur as it requires increasing effort to get oil in the future? More deepwater drilling? Environmental degradation/damage to get oil like tar sands extracted?
  2. How much oil really is left – how long will we continue to have this cheap resource?
  3. Further, if we are facing increasing risks and costs for every unit of oil we acquire, when will that begin to have severe impacts on our economy (as the per unit cost of the stuff we love – iPods, cars, flying to Europe – increases, the profit margins of our globalized corporations will decrease)?
  4. And when will we decide that we need to develop a way of living that is independent of this resource? To recover from our “addiction to oil.”

How Much Oil Is Left?

I’ve developed and published an isee NetSim model that you may use to explore questions regarding how long the resource will last and the implications of the economy on that length. You may explore it here.

Ultimately, we need to stop the Find the Knucklehead Game and instead recognize that it is we – in the collective sense – that are responsible. Not just for the recent disaster, but the long-term trend and its consequences (including the unintended consequences of climate change). The system is behaving as it is designed. It is up to us to design a different system!

Categories: simulation, strategy

“Tracing Connections” book honors Barry Richmond

Latest articles - Thu, 17/06/2010 - 15:00

Barry Richmond was the founder of isee systems and pioneer in the field of systems thinking. When his life was cut short by a sudden fatal heart attack, Barry was in the prime of his career and the systems thinking community experienced a collective sense of loss and grief.

Barry was fully engaged in bringing systems thinking to everyone. He saw how this powerful way of thinking could help people to better understand society’s most pressing issues and make the world a better place. Barry saw K-12 education as one of the keys to creating a better world. He spoke often about educating young people to become ”systems citizens” and preparing students for the complex problems they would have to face. Much of his time was devoted to training teachers to incorporate systems thinking into curricula and pedagogy.

A couple of years ago, Barry’s daughter, Joy Richmond, began spearheading an effort to create a book in honor of her father. Joy invited a group of us together to talk about some ideas for the book and come up with a plan to make it happen. The first idea we discussed was writing the book that Barry himself had intended to write. Barry left plenty of notes and even had a working title for a book about systems thinking called Traces. We all agreed that it would be much too daunting to try to write a book for Barry, so we decided to have a book written in tribute to Barry by friends and colleagues who share his passion for systems thinking.

Steve Peterson, Corey Peck and Khalid Saeed were all part of that original discussion and eager to contribute by writing a chapter. Each had a story to tell about using Systems Thinking in their work and why it is so important in an increasingly interdependent world. What better way to honor Barry than writing a book that helped get the word out about systems thinking!

Shaping the Book

Lees Stuntz, Executive Director of the Creative Learning Exchange, was also in on the discussion and excited about asking educators influenced by Barry to contribute their stories. Before we invited other authors however, we wanted to provide some guidelines that would tie the book together and give it a more meaningful context. I think it was Steve who came up with the idea to use the critical thinking skills first outlined in an article Barry wrote for the System Dynamics Review titled “Systems Thinking: Critical Thinking Skills for the 1990s and Beyond”. We agreed the systems thinking skills would provide a good foundation for the book and each author could then choose a few of the thinking skills to emphasize when telling their story.

Countless hours of writing, editing, and designing later, Tracing Connections: Voices of Systems Thinkers was born. Published in partnership with the Creative Learning Exchange, proceeds from the book will fund scholarships that offer learning opportunities for educators to use systems thinking and system dynamics in K-12 education. The response so far has been excellent and we are pleased to be funding scholarships to help educators attend the ST/DM Conference later this month.

A Chapter for Everyone

What is especially nice about the book, is that you don’t need to read each chapter in sequence. Since the authors’ experiences range from education and research to business and public policy, there’s sure to be a chapter for everyone. Click on the link below to view the chapter by Frank Draper titled “Teaching by Wondering Around: Learning About the World Naturally”. Frank tells a wonderful story about how Systems Thinking has transformed the way he teaches science to high school students. After reading it, you’re going to wish you could enroll in one of Frank’s field science classes at Catalina Foothills school district in Tuscon, Arizona.

Teaching by Wondering Around by Frank Draper

Animal Temperature Model

Table of Contents with full list of chapter titles and authors

For more information or to order a copy of Tracing Connections, visit http://www.iseesystems.com/tc

Categories: simulation, strategy

Ulysse: a qualitative tool for eliciting mental models of complex systems

Latest articles - Thu, 27/05/2010 - 09:47
Stakeholders involved in the definition of managerial problems perceive and internalize the complexity of these problems as mental models. These models are not always made explicit, which can lead to misunderstandings and conflicts. This article presents Ulysse, a tool that enables stakeholders to progressively elicit their mental models as causal loop models. Ulysse uses web technologies that store information in a database and interactively display the modeling results. It is based on matrix calculation that facilitates statistical operations and provides better understanding of the model structure. Analysis and comparison of individual models reveal the most important variables and relationships among them as a basis for identifying key issues, divergent and convergent opinions between stakeholders. Ulysse has been tested in the context of regional economic development in Atlantic Canada. The tool was designed to support managers, during interviews, in building qualitative models of indicators. Copyright © 2010 John Wiley & Sons, Ltd.
Categories: simulation, strategy

Economic transition management in a commodity market: the case of the Iranian cement industry

Latest articles - Thu, 27/05/2010 - 09:47
Economic transition management is an important issue in countries that have not completely adjusted to the market economy style, as well in countries that temporarily implement price controls. The common concern is to manage the transition in a way that lessens the socio-economic side effects of the process. This paper presents policy recommendations for the Iranian cement industry, which will undergo such a transition. Building on the commodity model literature and supported by interviews with different stakeholders in the industry, we develop a cement price model and calibrate it for Iran's economy. In the base run, we predict a large overshoot in price before it reaches its long-term equilibrium state. Experimenting with the model, we suggest a specific transition policy which starts from drastic rise(s) in price before leaving the price up to the market. In addition, this paper gives some insights into analyzing similar economic policy problems. Copyright © 2010 John Wiley & Sons, Ltd.
Categories: simulation, strategy

Policy analysis for online game addiction problems

Latest articles - Thu, 27/05/2010 - 09:47
With the worldwide popularity of online games, game addiction is a serious social issue. To address online game addiction problems and pursue the steady growth of the online gaming industry, we propose and evaluate two policies using a system dynamics approach: a self-regulation policy and a tax and rebate policy. Through our analysis, we demonstrate that the tax and rebate policy can be a very effective policy measure. Contrary to the concern of most game companies, by implementing the tax and rebate policy while the total revenue of the online gaming industry increases slightly, the social image of gaming improves and the number of addicted game users decreases. This clearly demonstrates that restricting excessive use of games actually benefits online game companies as well as society in general, and that the system can be more efficiently implemented by the tax and rebate policy. Copyright © 2010 John Wiley & Sons, Ltd.
Categories: simulation, strategy

Generic structure to simulate acceptance dynamics

Latest articles - Thu, 27/05/2010 - 09:47
Social behaviour patterns and social equilibrium states are often guided by stable values such as social norms. However, changing environmental conditions (e.g. climate warming, resource scarcity) may require behavioural change and the acceptance of new technologies. Antecedents of aggregate behavioural change are value changes that predetermine when new behaviour patterns emerge and a new social equilibrium state can be reached. The paper addresses these phenomena. First, based on a waste recycling model, we explain these phenomena and develop a simple, generic mathematical model describing the basic traits of acceptance-rejection dynamics. Second, we propose a generic model structure for the simulation of acceptance-rejection behaviour that represents the dynamical characteristics of paradigm change processes. We show that a fourth-order potential function is a sine qua non for an adequate representation of a paradigm change. Third, we also explain why the well-known Bass model is unable to capture acceptance and rejection dynamics. Copyright © 2010 John Wiley & Sons, Ltd.
Categories: simulation, strategy

Steady-State Initialization of Conveyors

Latest articles - Tue, 25/05/2010 - 21:55

Conveyors are useful model elements for representing pipelines or processes that take a certain amount of time to complete. However, adding a leakage flow to a conveyor can make it difficult to initialize a model in steady-state. The following discussion will explain how to initialize conveyors with leakage in steady-state. Please refer to the model structure below while reading this discussion.

These additional variables will be also used:

transit_time = TRANSTIME(conveyor)
conveyor_length = transit_time/DT
leakage_fraction = the user-specified leakage fraction

Linear Leakage

The default leakage is linear in behavior. The total amount that leaks across the length of the conveyor is directly proportional to the inflowing amount. The leakage fraction is the constant of proportionality. Thus, the fraction of inflowing material that makes it to the conveyor’s outflow is exactly

1 – leakage_fraction

Given the sample model structure above, to achieve equilibrium, conveyor_outflow must equal outflow. For this to happen, we need to set the inflow as follows:

inflow = outflow/(1 – leakage_fraction)

The conveyor’s steady-state value is then:

conveyor = transit_time*inflow – (conveyor_length – 1)*leakage*DT/2

where the initial value of leakage is:

leakage = leakage_fraction*inflow

This must be calculated outside the program and entered as a constant into the conveyor as conveyors cannot be given equations (they can, however, be set to a the value of a single converter, but you must be careful how you calculate this to avoid circularity).

Exponential Leakage

Optionally, leakage can be made exponential. The amount that leaks each DT is proportional to the amount remaining in the conveyor. In this case, the leakage fraction is the fraction that leaks each unit of time so, for long conveyors, a lot of material can leak away. Given the transit time, the fraction of inflowing material that makes it to the conveyor’s outflow is approximately

1 – (1 – leakage_fraction)^transit_time

Given the sample model structure above, to achieve equilibrium, conveyor_outflow must equal outflow. For this to happen, we need to set the inflow as follows:

per_dt_no_leak = 1 – leakage_fraction*DT
inflow = outflow/(per_dt_no_leak^conveyor_length)

For steady-state, the conveyor itself must then be set as follows:

conveyor = (inflow*DT)*(1 – per_dt_no_leak^conveyor_length)/(1 – per_dt_no_leak)

Categories: simulation, strategy

What’s New in isee NetSim 1.1?

Latest articles - Mon, 17/05/2010 - 15:52

Last week, we released version 1.1 of the isee NetSim software. isee NetSim enables iThink and STELLA users to publish their models online so anyone can run them in a web browser. Version 1.1 introduces several new features. In this post I will share a couple of those that I am most excited about.

Forio Simulate—Like YouTube for Simulations

Since the debut of the isee NetSim software we have collaborated with Forio Business Simulations to provide free hosting for models published online. Last year, I saw a demo of Forio’s new simulation service, Forio Simulate, in the early development stage. It was awesome. I couldn’t believe it—they added all of the Web 2.0 features I’d been dying for, and a slick, fun to use interface. I knew we had to make isee NetSim work with it.

The new service is social by nature—it features keyword tagging, ratings, comments and built-in model sharing. It’s like YouTube for simulations. You can browse simulations and games that others have created, find similar ones by keyword tags, and embed simulations on blogs or web pages. So you don’t have to be actively publishing your own simulations, or even be a modeler to get a lot of value from the site. In fact, it’s a great way to introduce people to modeling and simulation. Just post a link!

And if you are a modeler, you can get even more out of the service. Most of the simulations published to Forio Simulate allow you to download or copy the underlying model that powers it. Here at isee, we’ve uploaded the original iThink and STELLA models used to create all of our sample isee NetSim simulations. That way anyone can run the simulation online in a browser and download the source model to dig into if they want more. Take a look at isee systems’ models published on Simulate by clicking on the screen shot below.

The simulation overview page allows anyone to download the source model, rate, comment, add tags and embed the simulation on other web pages.

Anyone can use free hosting on Forio Simulate if the model contains 400 or fewer equations and is shared with other users of the service. If you want to protect the model, resell a simulation, use a custom URL, etc., you can sign up for a premium hosting plan. It’s easy to select a hosting plan when you upload your model with isee NetSim.

Graphical Input Device

Use the GID to change the price assumption

One of the most requested features for isee NetSim has been the graphical input device, or “GID” as we like to call it. GIDs offer a simple way to allow people running your simulation to change the model assumptions. Often it’s easier to sketch a curve of the behavior of a variable than to input numbers directly.

For example, the model below is a generic renewable-resource model that enables you to experiment with yield and price of a renewable-resource via GIDs. The model is from our “Thinking in Systems” online course. I published the model to Forio Simulate and then embedded it here. Click the “Review model” link to take a brief tour of the model.

You can change the price elasticity and “yield per unit capital” curve by first clicking on one of the GIDs. A window will pop open that displays the details of the curve. Click and drag within the grid to draw a new curve. Press “Ok” to apply the changes. Take a few moments to play around with the model below.

[Editor's note: If you cannot see the embedded model below because you are reading this post in a feed reader or email, please visit the post page here]

What I find interesting after playing with this model is what happens when you start to push the yield up. At some point the efficiency improves to the point where the renewable-resource gets completely wiped out. Sometimes the inefficiencies of harvesting a resource can be a good thing—it gives the resource time to “catch up”. This may be a useful point to consider when thinking about sustainable systems. What happens when you make the resource inexpensive?

A GID for the web

You may have noticed that the GID within isee NetSim does not allow a user to type numbers to define data points or change the x and y ranges. We decided this simpler version of the GID was a good fit for models published to the web and would cover most use cases. The GID allows users to easily change the assumptions by sketching a behavior pattern and not really concern themselves with the data.

If you’ve been dying to publish models with GIDs online, now is your chance. While you’re at it, check out Forio Simulate and start contributing to the growing simulation community. You can download a trial of isee NetSim 1.1 here. If you already own isee NetSim, visit your “My Software” page on the isee systems website to download the upgrade.

Categories: simulation, strategy

We have met an ally and he is Storytelling

Latest articles - Thu, 29/04/2010 - 21:56

Editor’s note: This is a guest post by isee’s consulting & training partner Chris Soderquist

Background

The April 26, 2010 article in the New York Times titled “We have met the enemy and he is PowerPoint” has created quite a stir. It is particularly telling that three days after its publication, it is the most emailed article on their website! The most interesting aspect of the article to me, as a system dynamics practitioner, is the publication of a system dynamics map on the US Counter-insurgency strategy as the example (i.e. visual sound bite) demonstrating why PowerPoint is so problematic. This is actually a poor example of the author’s point, since it is not PowerPoint, and because the map was shown out of context.

Although the diagram doesn’t portray how or why PowerPoint is misused, it does demonstrate some reasons why system dynamics maps and models are not more broadly used to communicate systemic issues. In this post, I will describe what issues a PowerPoint paradigm creates and how system dynamics can address those issues; more importantly, I will show why the STELLA and iThink software have features such as storytelling and web publishing in order to help people develop deeper, more systemic understanding of the complex problems humanity must address.

The Problem with PowerPoint

I don’t have anything against using PowerPoint. Those of you who have taken one of my webinars for isee systems know that I rely heavily on the software in my instruction and facilitation. I think there are inherent software limitations that combine with a cultural paradigm, that lead to its misuse. Currently, I see it promotes the following approaches to problem solving:

  1. Narrow focus in space and time – due to limited screen real estate
  2. Passive absorption of information of data – lazy learning, not experiential
  3. Simplistic bullet point thinking – linear thinking, focusing on factors in a non-operational way

This all creates confusion between reducing complication and simplifying complexity. The world is a dynamically complex place, and thank goodness for that! Picture the blandness of a world that is simple, where everyone thought and acted the same, where you always knew exactly what would happen because it was so simple. Boring! On the other hand, dynamic complexity makes it difficult to resolve what currently appear to be intractable problems, such as environmental degradation, poverty, global economic turmoil. Living in a dynamically complex world necessitates finding ways to simplify complexity to its essence, making manageable and useful mental models.

That’s why people are drawn to lists (e.g., bullet point and linear thinking), believing it simplifies complexity; just give me a list of what’s wrong or what to do! What lists do well is remove complication, but they also remove the dynamic essence of reality, often making mental models that are less than useful.

System dynamics

System dynamics is an approach to building understanding that expands boundaries, looks at the world as comprised of feedback loops, uses a visual language that promotes operational thinking, and creates active learning. It’s a terrific approach to counter the many problems inherent in applying PowerPoint paradigm!

All of the above helps develop useful mental models that are both simplified and still capture the essence of reality. However, taking a map out of context – even one much simpler than shown in the article – and including it in PowerPoint will not create understanding, only confusion! When I’m in front of a group and have enough time, I will always draw it up on a flipchart or board, to bring the group along with its unfolding. The rapid feedback creates an engaged group capable of learning. But in the absence of time, or if you need to communicate to people “on their own time” you will find features in STELLA and iThink invaluable!

I’ve published a map to the web with the isee NetSim software to demonstrate how you can use system dynamics to create online experiential learning labs. Take a tour of the map below to see how the stock/flow language and Storytelling can overcome the passive absorption of bulletized information that PowerPoint facilitates.

Click on the image below to make sense of the map

Another interesting perspective from Linda Booth Sweeney on the New York Times article can be found on her blog.

Categories: simulation, strategy