I watched a meeting last night where we discussed modeling ideas.
After it was over I began to think about the possibility of constructing
a simple prototype to demonstrate what something like the Stella package
might look like if all coefficients had something like a "normal"
distribution (instead of a single exact value) and results were graphed
with "fuzzy" bands to convey the dispersion of those distributions
(instead of spidery thin lines).
I do not expect this to be production quality software. I do have some
programming experience. But I am wondering if there might be some tools
that would minimize the effort involved in producing such a prototype.
Thanks
From: Don Taylor <psu04033@odin.cc.pdx.edu>
Would like suggestions for a tool to build a prototype
-
- Junior Member
- Posts: 2
- Joined: Fri Mar 29, 2002 3:39 am
-
- Member
- Posts: 29
- Joined: Fri Mar 29, 2002 3:39 am
Would like suggestions for a tool to build a prototype
VENSIM does a little of this with sensitivity analysis, but wht you are
looking for is the functionality (in an SD environment) of a product like
@RISK. It isnt at all "SD like" (works inside spreadsheets), but if you
have a formula, it will let you model the distributions of a bunch of input
variables and the resulting accumulation of probabilities at the output end.
I think you can see the product at http://www.palisade.com
Steve
--
Stephen B. Wehrenberg, Ph.D.
Chief, Forecasts and Systems, US Coast Guard
Administrative Sciences, The George Washington University
wstephen@erols.com (202)267-0624
"Born empowered ... what happened?!?"
looking for is the functionality (in an SD environment) of a product like
@RISK. It isnt at all "SD like" (works inside spreadsheets), but if you
have a formula, it will let you model the distributions of a bunch of input
variables and the resulting accumulation of probabilities at the output end.
I think you can see the product at http://www.palisade.com
Steve
--
Stephen B. Wehrenberg, Ph.D.
Chief, Forecasts and Systems, US Coast Guard
Administrative Sciences, The George Washington University
wstephen@erols.com (202)267-0624
"Born empowered ... what happened?!?"
-
- Junior Member
- Posts: 2
- Joined: Fri Mar 29, 2002 3:39 am
Would like suggestions for a tool to build a prototype
Hi!
You might consider looking for a system dynamics modeling tool that is
easily connectible to other software. This would allow you to take
advantage of the ease of building models in a system dynamics framework with
the added ability to use other analysis methods (such as risk assessment
software) when appropriate.
This also applies to the previous thread on translating STELLA models to
Fortran. Ive found in many of the simulators Ive built that translating
models from an SD tool to a programming language leads to version control
issues and subtle differences in simulation methods. As an alternative,
developing the model in a SD modeling tool, and then running the model with
the same tool "under the hood" of a user friendly interface removes these
problems. I also like being able to edit a diagram when I modify the
simulation model rather than reading equations.
For example, Powersim Constructor (a system dynamics modeling tool) can
exchange data directly with DDE (Dynamic Data Exchange). Powersim models
can also be controlled by other software using a companion product called
the Powersim Engine. Engine is basically a version of Powersim that
provides an API (application programming interface) which lets the model be
controlled by Visual Basic, Delphi or C. Engine has no GUI of its own so it
is quite speedy.
Best, WILL
From: "Will Glass-Husain" <wilgl@powersim.com>
P.S. Many thanks for the helpful suggestions on organizational culture!
You might consider looking for a system dynamics modeling tool that is
easily connectible to other software. This would allow you to take
advantage of the ease of building models in a system dynamics framework with
the added ability to use other analysis methods (such as risk assessment
software) when appropriate.
This also applies to the previous thread on translating STELLA models to
Fortran. Ive found in many of the simulators Ive built that translating
models from an SD tool to a programming language leads to version control
issues and subtle differences in simulation methods. As an alternative,
developing the model in a SD modeling tool, and then running the model with
the same tool "under the hood" of a user friendly interface removes these
problems. I also like being able to edit a diagram when I modify the
simulation model rather than reading equations.
For example, Powersim Constructor (a system dynamics modeling tool) can
exchange data directly with DDE (Dynamic Data Exchange). Powersim models
can also be controlled by other software using a companion product called
the Powersim Engine. Engine is basically a version of Powersim that
provides an API (application programming interface) which lets the model be
controlled by Visual Basic, Delphi or C. Engine has no GUI of its own so it
is quite speedy.
Best, WILL
From: "Will Glass-Husain" <wilgl@powersim.com>
P.S. Many thanks for the helpful suggestions on organizational culture!
-
- Senior Member
- Posts: 1107
- Joined: Wed Mar 12, 2003 2:46 pm
Would like suggestions for a tool to build a prototype
Don,
What you describe is called Multivariate Sensitivity Simulation (MVSS) or
Monte Carlo simulation. You basically describe a distribution for one or
more (potentially all) parameters in a model and run a sufficient number
(between 100 and 100,000) of simulations to get a reasonable knowledge of
the distributions of dynamics variables at all times.
Vensim Standard, Professional and DSS (though not PLE) have tools to do this.
You can choose from a number of input distributions including the normal
distribution and view the output as sensitivity graphs which show color
banded confidence bounds on a time graph or as histograms at a point in
time or with reported percentile bounds in tabular form. The results can
also be easily exported for further analysis in a spreadsheet.
As you can imagine doing a large number of simulations for a reasonably
sized model generates lots of numbers. Managing this volume does require
that you focus in on a relatively small number of variables when considering
the output.
See http://www.vensim.com for more info.
Bob Eberlein bob@vensim.com
Ventana Systems, Inc. - producers of Vensim
What you describe is called Multivariate Sensitivity Simulation (MVSS) or
Monte Carlo simulation. You basically describe a distribution for one or
more (potentially all) parameters in a model and run a sufficient number
(between 100 and 100,000) of simulations to get a reasonable knowledge of
the distributions of dynamics variables at all times.
Vensim Standard, Professional and DSS (though not PLE) have tools to do this.
You can choose from a number of input distributions including the normal
distribution and view the output as sensitivity graphs which show color
banded confidence bounds on a time graph or as histograms at a point in
time or with reported percentile bounds in tabular form. The results can
also be easily exported for further analysis in a spreadsheet.
As you can imagine doing a large number of simulations for a reasonably
sized model generates lots of numbers. Managing this volume does require
that you focus in on a relatively small number of variables when considering
the output.
See http://www.vensim.com for more info.
Bob Eberlein bob@vensim.com
Ventana Systems, Inc. - producers of Vensim
-
- Senior Member
- Posts: 55
- Joined: Fri Mar 29, 2002 3:39 am
Would like suggestions for a tool to build a prototype
You can already do this in STELLA/ithink, by creating a sensitivity setup
with your input distributions and a sensitivity graph to show the multiple
outcomes. To plot confidence bounds, youd have to export the simulation
results (using a sensitivity table for each variable) to Excel or a stats
package. PowerSims Solver also does Monte Carlo simulation, but I dont
know its current capabilities.
Vensim allows you to specify input distributions (uniform, normal, beta,
triangular, weibull, ...) and a sampling method (e.g. Latin Hypercube), and
plot confidence bounds or histograms of the output. The input distributions
are stored in a file separate from the model, which makes it easy to use
multiple sets or to use the same set with several models. This also creates
a somewhat artificial separation of the best-guess parameter value (in the
model) from the understanding of uncertainty about the parameter (in the
sensitivity file).
A decision analysis package called Analytica from Lumina Decision Systems
takes the opposite approach, fully integrating uncertainty and stochastic
processes into the model. Unfortunately, it doesnt handle dynamics well.
There are some good reasons to start with a deterministic simulation where
possible. It enormously facilitates debugging and development of
understanding, because runs are quick and causality is unclouded by
randomness. Ive seen models that generated nice-looking confidence bounds,
concealing the fact that the underlying simulations were full of
unrealistic oscillations due to integration error and bad formulations.
Another trick that works with most packages is to array your whole model,
in effect creating a separate model for each uncertain scenario. Then you
can easily create some summary variables that track the aggregate outcome
over your sample of scenarios. This is nice if you want to do stochastic
optimization (e.g. maximize the expected net present value of cash flow
given uncertainty about market conditions).
- Tom
****************************************************
Thomas Fiddaman, Ph.D.
Ventana Systems http://www.vensim.com
34025 Mann Road Tel (360) 793-0903
Sultan, WA 98294 Fax (360) 793-2911
Tom@Vensim.com http://home1.gte.net/tomfid/
****************************************************
System Dynamics and Vensim Courses
http://www.vensim.com/course.html
May 4-6, Boston June 22-24, Austin
September 14-15, San Francisco
October 28-30, Seattle November 16-18, Wash. DC
****************************************************
with your input distributions and a sensitivity graph to show the multiple
outcomes. To plot confidence bounds, youd have to export the simulation
results (using a sensitivity table for each variable) to Excel or a stats
package. PowerSims Solver also does Monte Carlo simulation, but I dont
know its current capabilities.
Vensim allows you to specify input distributions (uniform, normal, beta,
triangular, weibull, ...) and a sampling method (e.g. Latin Hypercube), and
plot confidence bounds or histograms of the output. The input distributions
are stored in a file separate from the model, which makes it easy to use
multiple sets or to use the same set with several models. This also creates
a somewhat artificial separation of the best-guess parameter value (in the
model) from the understanding of uncertainty about the parameter (in the
sensitivity file).
A decision analysis package called Analytica from Lumina Decision Systems
takes the opposite approach, fully integrating uncertainty and stochastic
processes into the model. Unfortunately, it doesnt handle dynamics well.
There are some good reasons to start with a deterministic simulation where
possible. It enormously facilitates debugging and development of
understanding, because runs are quick and causality is unclouded by
randomness. Ive seen models that generated nice-looking confidence bounds,
concealing the fact that the underlying simulations were full of
unrealistic oscillations due to integration error and bad formulations.
Another trick that works with most packages is to array your whole model,
in effect creating a separate model for each uncertain scenario. Then you
can easily create some summary variables that track the aggregate outcome
over your sample of scenarios. This is nice if you want to do stochastic
optimization (e.g. maximize the expected net present value of cash flow
given uncertainty about market conditions).
- Tom
****************************************************
Thomas Fiddaman, Ph.D.
Ventana Systems http://www.vensim.com
34025 Mann Road Tel (360) 793-0903
Sultan, WA 98294 Fax (360) 793-2911
Tom@Vensim.com http://home1.gte.net/tomfid/
****************************************************
System Dynamics and Vensim Courses
http://www.vensim.com/course.html
May 4-6, Boston June 22-24, Austin
September 14-15, San Francisco
October 28-30, Seattle November 16-18, Wash. DC
****************************************************
Would like suggestions for a tool to build a prototype
Will Glass-Husain points out that you might want to hook up an SD tool
to a regular programming environment. In addition to Powersim, Vensim
also lets you do this via DDE (like Powersim). Vensim also is available
as a DLL, which permits you to create a distributable, standalone
program which relies on Vensim for its simulation engine. The DLL comes
in two flavors, a minimal DLL (very small) and a "big" DLL that contains
most of Vensims analytical, input and output functionality in addition
to just the simulation engine.
Regards,
Jim Hines
MIT and LeapTec
From: Jim Hines <jimhines@interserv.com>
to a regular programming environment. In addition to Powersim, Vensim
also lets you do this via DDE (like Powersim). Vensim also is available
as a DLL, which permits you to create a distributable, standalone
program which relies on Vensim for its simulation engine. The DLL comes
in two flavors, a minimal DLL (very small) and a "big" DLL that contains
most of Vensims analytical, input and output functionality in addition
to just the simulation engine.
Regards,
Jim Hines
MIT and LeapTec
From: Jim Hines <jimhines@interserv.com>
-
- Newbie
- Posts: 1
- Joined: Fri Mar 29, 2002 3:39 am
Would like suggestions for a tool to build a prototype
Hi !
The relation between System Dynamics and Fuzzy Systems
is the main concern of my Artificial Intelligence PhD
research.
Qualitative and uncertain knowledge seems natural
to be handled by Fuzzy Systems. Complex Systems
and knowledge acquisition, by System Dynamics.
In this summer, the interest is to observe the effects
of using some fuzzy coefficients.
Results will be available at end of July.
Best
Rafael
From: Rafael Bourguet <bourget@cia.mty.itesm.mx>
-------------------------------------
Rafael E. Bourguet, PhD Student
http://www-cia.mty.itesm.mx/~bourget/
Center for Artificial Intelligence
ITESM campus Monterrey, Mexico
-------------------------------------
The relation between System Dynamics and Fuzzy Systems
is the main concern of my Artificial Intelligence PhD
research.
Qualitative and uncertain knowledge seems natural
to be handled by Fuzzy Systems. Complex Systems
and knowledge acquisition, by System Dynamics.
In this summer, the interest is to observe the effects
of using some fuzzy coefficients.
Results will be available at end of July.
Best
Rafael
From: Rafael Bourguet <bourget@cia.mty.itesm.mx>
-------------------------------------
Rafael E. Bourguet, PhD Student
http://www-cia.mty.itesm.mx/~bourget/
Center for Artificial Intelligence
ITESM campus Monterrey, Mexico
-------------------------------------
-
- Newbie
- Posts: 1
- Joined: Fri Mar 29, 2002 3:39 am
Would like suggestions for a tool to build a prototype
Don
There is a spreadsheet add-in tool called @Risk! that allows you to build
models with distributions as inputs rather than discrete inputs. As a
spreadsheet add-in, you may have to find clever ways of building common
dynamic elements into your spreadsheet model, such as time lags, feedback
loops, etc.
Good luck
Marvin Schneider
From: Marvin Schneider <marvin@werple.net.au>
There is a spreadsheet add-in tool called @Risk! that allows you to build
models with distributions as inputs rather than discrete inputs. As a
spreadsheet add-in, you may have to find clever ways of building common
dynamic elements into your spreadsheet model, such as time lags, feedback
loops, etc.
Good luck
Marvin Schneider
From: Marvin Schneider <marvin@werple.net.au>