SIMULATION forthe REAL WORLD,
Rick Kossik
GoldSim Technology Group
Issaquah, Washington
Slide 1
TECHNOLOGY GROUP
Outline
@ What is GoldSim and where did it come from?
@ Asummary of the major differences between
GoldSim and traditional SD codes
Basic GoldSim Features
Overview of Advanced GoldSim Features
Overview of GoldSim Extension Modules
Can GoldSim complement traditional SD codes?
Questions and Discussion
Introduction to GoldSim @
Slide 2
TECHNOLOGY GROUP
Outline
@ What is GoldSim and where did it come from?
Introduction to GoldSim @
Slide 3
TECHNOLOGY GROUP
GoldSim Technology Group
@ Originally a division of Golder Associates
— International civil and environmental engineering firm
@ Began developing GoldSim in 1990
— First customers were US Department of Energy and
analogous government organizations in Europe and Asia
— Focused on risk analysis for complex engineered
systems associated with waste management
@ Started marketing software in 2002
— Rapidly expanded into other related engineering arenas
(mining, water resources, failure analysis, long-term
strategic planning)
® Beckie independent company in February
— GoldSim represents over 50 man-years of development
— Over 1,000,000 lines of code (C++) @
Slide 4 Gold$im
TECHNOLOGY GROUP
What were the main drivers behind the
development of GoldSim?
@ Systems being evaluated had lots of uncertainty
and involved stochastic processes
@ Clients required predictions of future
performance in order to optimize system design
and meet regulatory requirements
@ Evaluations needed to be transparent and easy
to explain to multiple audiences.
Goal was to create a probabilistic simulation
framework that could be applied to complex and
diverse engineering and scientific problems
Introduction to GoldSim @
Slide 5 GoldSim
TECHNOLOGY GROUP
Outline
@ Asummary of the major differences between
GoldSim and traditional SD codes
Introduction to GoldSim @
Slide 6
TECHNOLOGY GROUP
What are the key differences between
GoldSim and traditional SD tools?
@ GoldSim puts much greater emphasis on
probabilistic simulation and producing
probabilistic predictions of performance
Introduction to GoldSim
Slide 7
TECHNOLOGY GROUP
Define uncertain variables
& @Alaleb
| Beta Distibution »|
Parameters we
Mean: o4
2
Standard Deviation: 02:
1
= oo
= 02 4 6 8 0 12
re
— UFilAres Show Marker
15
Calculator
Cum. Probably, Value:
°
a a: Lo
Meat 2 Probability Density: 0.397517
Std. Deviation: 1 Cond. Tail Expectation: 2.77769
Skewness: 1.358
%, Kutoss: ——_Notavelable Asp
Specify statistical-defined events
Timed Event Properties : Accident {&)
Definition,
Element ID: | Accident
| (Appearance...
Description: | Haul truck turns over |
Event Definition
Occurrence Type: | Random time intervals (Poisson) v
Rate: fis 35 day
Maximum Number of Events: |1e9
Save Results
M Final values MA Time Histories
Cx Cee] Ce)
Define stochastic time series
History Generator Properties : HistGenerator
Definition
Element ID; | Stock Portfolio. le Appearanc
Description: | Generates stock price data,
Display Units: |$
History Definition
Vector[Stocks]
History Type: [Geometric Growth |
Mean Annual Growth Rate: Annual Yolatility:
[erowth Rate [retatity
‘Annual Reversion Rate: Initial Value:
Reversion [nitia_Price
Initial Value of Median: ‘Alo nega
dian_Price
Do not lag Tar
(Wllse coreeten nee
‘Save Results
Mizinal vaives Time Histories
Ca) Cewe] J
Define Monte Carlo simulation options
Simulation Settin;
[Time | Monte Carlo | Globals | Information |
| g@_. Define Monte Carlo options to carry out a probabilistic simulation,
and specify the sampling method for Stochastic variables,
© Probabilistic Simulation
#Realizations: | 1000 2 # Histories to save: | 1000 =
(Run the Following Realization only: F
Ise Latin Hypercube Sampling
M)Repeat Sampling Sequences Random Seed: [1
Mil Time History
Qs MB SLA & Ot he
Portfolio Value ($)
Time (yr)
Introduction to GoldSim
Slide 9
Probability Density
4.0e-06
Ml Distribution - Portfo lio_Value
eRe SALDL A ae
1.0e06 1.2e06 14e06 1.6e06
Portfolio Value at 10 years ($)
TECHNOLOGY GROUP
What are the key differences between
GoldSim and traditional SD tools?
@ GoldSim provides a much broader range
of model objects
— Makes the model logic and structure less
abstract and more transparent
— Includes objects to superimpose discrete
dynamics on a continuous system
Introduction to GoldSim @
Slide 10
TECHNOLOGY GROUP
GoldSim provides over 40 element types...
Container »
Inputs 4
’ Stocks »
Baste a fe Expression
Events » ea Previous Yalue
Zoom r Delays > 95 Extrema
View >) Results > BRE Selector
Properties... Reliability y| ae
ccc | -& allocator
Financial + > sum
| iH Lookup Table
he Convolution
~~ History Generator
& And
I] or
{ Not
Ay External
[9] File
%.) Spreadsheet
preguction to kell : ©
Slide 11 Gold$im
TECHNOLOGY GROUP
Orbital Insertion Submodel
> ee —>
Pyro_CPS Propellant Chemical_Propulsion System !on_Engine_Required
!
-@-
ee. aaa
Momenturm_Change
Mass_CPS — J EE
Mass_Orbiter_Lander
TAG >> ee : =
/ \ dt
Orbiter_Approach_Speed Velocity_Change_Required
Introduction to GoldSim @
Slide 12 GoldSim
TECHNOLOGY GROUP
What are the key differences between
GoldSim and traditional SD tools?
@ GoldSim provides a much broader range
of model objects (elements)
— Makes the model logic and structure less
abstract and more transparent
— Includes objects to superimpose discrete
dynamics on a continuous system
— An important implication is that GoldSim does
not use the “stock and flow” paradigm
Introduction to GoldSim @
Slide 13
TECHNOLOGY GROUP
Example: Simple Inventory Model
CR
Production Shipments
L, _Inventory
Desired Inventor. C) Order Rate
Inventory Coverage Expected Demand -_
Change in Expected
Demand
Time to Change
Expectations
Introduction to Gowoun @
Slide 14 GoldSim
TECHNOLOGY GROUP
Example: Simple Inventory Model
ae Ss > Arrows all
Production_Rate represent
“influences”
» te >
Desired_Inventory >
\ mm
>ij>
Expected_Dermand
Slide 15 , GoldSim
TECHNOLOGY GROUP
What are the key differences between
GoldSim and traditional SD tools?
@ GoldSim was designed to accommodate
the addition of specialized extension
modules
— Modules either address processes that can’t be
adequately represented using simpler
constructs, or add to model transparency
Financial Module
3.14
16
Discount_Rate
a !
3.14 » »
Pie e
Inflation_Rate Initial_Capital_Cost
for >
Development_Costs
ss
mf
Operating_Costs
> Yap ——>> t »
Revenue_Generation Revenues
Introduction to GoldSim
Slide 17
by CashFlow_and_NPV
Golds®,
TECHNOLOGY GROUP
Financial Module
A:
Claim_Size
| Deductible
e
Claim
314 and cap are
alts —_>r »
»
reset every
Claim_Rate Sine Oe
»
two years.
= Ps
: a fa
|
Cap Insurance_Policy Cap_and_Deductible_Balance
Pa
3.14
& 16
Deductible
> Yor
Reset
Introduction to GoldSim ©
Slide 18
Gold$im
TECHNOLOGY GROUP
Reliability Module
Risk Analysis for Planetary Orbiter
lem Pap a
Launch Cruise Xenon_Reserves Attitude_Thruster_Reserves
Solar_Storm
Z WA
f.
>
SS 6)
Command_Control Attitude_and_Orbit_Control lon_Propulsion
| | f zo
> a So)
S Re
‘O) & > a > Attitude_Thrusters
Thermal_Control Power
Orbital_Insertion —_ 7
Ge \|
Science_Instrumentation Orbit_Achieved Communication
Orbit_Phase_Started a <a
Introduction to GoldSim @
Slide 19 Gold$im
TECHNOLOGY GROUP
Contaminant Transport Module
Atmosphere
Capt
Cap2
+++ _ <4
maximum biotic
intrusion depth
!
!
ee
!
!
!
CC CEECE
v Cap4
y Wastel
y Waste2
Vv > =p
UnsatSoil
UnsatRock
water table
<S
Introduction 1 suis
Slide 20
waterborne transport (advection)
airbome transport (diffusion)
plantinduced transport
animal-induced transport
WasteLayers
Animals SiteGeometry
Wastes are apportioned between the two waste
layer cells, the upper one potentially accessible
to biota and the lower one inaccessible. These
cells exist in the WasteLayers Source Container.
Sinks accept contaminants leaving the
important parts of the model.
SinkAtm
SinkGw
ce
The plume function is defined in
WaterTransport
GoldSi7
TECHNOLOGY GROUP
GoldSim models are typically deeply
hierarchical
@ Due to the nature of our original user base,
GoldSim was designed to support very large
models
— Largest model to date has 35,000 elements
@ To support this, GoldSim provides:
— Unlimited nesting of hierarchical models
— Local variables
Introduction to GoldSim
Slide 21
TECHNOLOGY GROUP
4 GoldSim Pro - Auto_Supply_Chain.gsm
Edit View Graphics Model Run Help
SH. °@8 RS EOVB AY BX sm ec)
4 ae.
Supply Chain Model - OEM N
Delivery El
Rate from %
Power Train ea
o
A
‘al
e
{\ Manufacturing —
Go to Power Train a Delivery Management
> ep
—
Information_Delay
Order Rate to ie) -
Power Train I
| Material_Management Order_Scheduling
<—______—-—-#
Dealer_Orders
(External to model)
¥
‘ Ps
Edit Mode: Press F5 to run model, Scale: 100% Filter ON Edit Mode
4 Gold
File Edit Yiew Graphics Model Run Help
Pro - Auto_Supply_Chai
“gsm
OSH {BARS le
@28 AY Bs 2
GO @ > Container Path: /\OEM
a)
Search Option:
© Sy Model
i OEM
8 Dealer_Orders
Mil
-@® Delivery_Management
GP Information_Delay
sm Le Manuf.
@ Material_Management
(1G Order_Scheduling
G8 Product_in_Transit
G- Production_Scheduling
(#-® Work_in_Process
§ Finished_Product
Parts_Inventory
@ Other_Results
@® Powertrain_Division
2 Summary_of_Model_Inputs
£3] Control_Panel
[& Inventories
[E& Production_Rates
o-b-
"Beaten, ST
Supply Chain Model - OEM ;
Delivery
Rate from
Power Train
a
a
Go to Power Train
—
> ep
—
Information_Delay \
Order Rate to
Power Train
| Material_Management Order_Scheduling
v
>
Edit Mode: Press F5 to run model,
Filter ON Edit Mode
¥]
Sy Model
a OEM
GP Dealer_Orders
&-@® Delivery_Management
HGP Information_Delay
= @® Manufacturing
®-@® strike
Jée Manufacturing_Delay
Bh Manufacturing_Time
Workday
@ Material_Management
@_ Order_Scheduling
@ Product_in_Transit
@ Production_Scheduling
fork_in_Process
inished_Product
Parts_Inventory
@® Other_Results
GP Powertrain_Division
[B-@% Summary_of_Model_Inputs
Control_Panel
[&< Inventories
[EX Production_Rates
6-8
&
#
Containment
|i oe) a] Dee
©) @ ¢ © Container Path: |\OEM\Manufacturing y| a“
=f tb
F KK
Manufacturing oO
%
Oe
ie)
g A
— > ‘a
» ee @
™s
Workday
»
Strike ERR
us z e
Manufacturing_Time
In this simple model for manufacturing, itis assurned that the
workday (and hence the Manufacturing Delay) is fixed. In a more
realistic model, for example, the workday could potentially ramp up
and down in response to demand (the Desired Production Start
Rate). This in turn would impact the Manufacturing Delay. a
< >
Edit Mode: Press FS to run model,
Scale: 100% Filter ON Edit Mode
4 GoldSim Pro - Auto_Supply_Chain.gsm
File Edit Yiew Graphics Model Run Help
SO RS le
®VE ay) ax sv?
GQ © > Container Path: | \GEM\Manufacturing\Strike »| eo
oh y)
Search Options... 2 5 ‘ &
—$— Logic for Shutting Down and Starting Up the Assembly Line in .
8 4g lel &
© OEM Response to a Strike oO
-§R Dealer_Orders
-@® Delivery_Management Ni
GP Information_Delay Oo
-® Manufacturing repr re ! ‘ ‘és ! gi
, bd Strike_Durati ¥ ° ° 2
By Mean_strike_Duration ee
OEM Strike Flag PV_Turn_Off_Rate Turn_Off_Rate Shut_Down_Line A
$x On Strike i | &
‘Bh Py_Turn_Off_Rate =
e PY_Turn_On_Rate 4)
1 Restart_Line 3 ve @
t _t » —__>>P » » » - >
1 Shut_Down_Line 16 dt & fa t —
. aouee OEM_Strike_Flag Strike_Rate Strike_Event Striking
(Dh strike_Frequency t
fat Strike_Rate
fat Striking a4] t
! Turn_Off_Rate Lal PTS > » >> Fi » > »
! Turn_On_Rate = e
Je Manufacturing_Delay Mean_Strike_Duration —Strike_Duration On_Strike Restart_Line
(Bh Manufacturing_Time
a Workday >
Ge Material_Management
1 Order_Scheduling
#f® Product_in_Transit Sirike_Frequency > ee
&)-@® Production_Scheduling °
&-@R Work_in_Process Turn_On_Rate
§ Finished_Product | —t
Parts_Inventory PV_Turm_On_Rate
fg Other_Results
fe Powertrain_Division
f@& Summary of Model vs
a ¥
GW Containment View z 1 ¥
Edit Mode: Press F5 to run model, Scale: 90% Filter ON _ Edit Mode
GoldSim models are typically deeply
hierarchical
— This, by definition, makes feedback loops
more difficult to see graphically
¢ We provide other tools to find loops
Introduction to GoldSim @
Slide 26
TECHNOLOGY GROUP
Outline
Basic GoldSim Features
Introduction to GoldSim
Slide 27
TECHNOLOGY GROUP
GoldSim Simulation Philosophy
@ Models should be constructed in a “top-down”
manner
— Capture all key aspects and inter-relationships
— Only add as much detail as required and justified
— Keep focused on the “big picture”
@ Must accurately and honestly express our
uncertainty in all aspects of the system
— parameters
— processes
— events
@ A model that cannot be explained and understood
is a model that will not be used
— No black boxes!
bac Golds@
TECHNOLOGY GROUP
GoldSim Features Reflect this Philosophy
@ Scalable and Extensible
— Design allows you to build a simple model, and then
add details in a hierarchical manner as warranted
— Can link to other programs (e.g., spreadsheets, user
programs)
— Designed to facilitate addition of custom modules for
specific applications
@ Can represent uncertainty and stochasticity in
parameters, processes and events
@ Specialized objects make models less abstract and
more transparent
@ Powerful navigation, presentation and documentation
features allow you to build, maintain and present
complex models ©
Slide 29 Gold$im
TECHNOLOGY GROUP
What Kind of Simulator is GoldSim?
= er The user creates a model
by using GoldSim objects
(called elements) to draw a
Zz, > schematic or influence
»
Function diagram of the system
being simulated.
AN
Probability_Distribution
Introduction to GoldSim @
Slide 30 GoldSim
TECHNOLOGY GROUP
Data_Value
Element Categories
Insert Element Container »
Inputs »
y Stocks r
Functions r
& Paste
Events »
Zoom » Delays »
View » Results »
Properties... Reliability »
Financial »
Contaminant Transport r
vet Golds@:
TECHNOLOGY GROUP
Input Elements
@ Some elements provide a mechanism for you
to enter Data into a model. You can specify a
single scalar datum, or vectors and matrices of
data.
@ Time Series elements allow you to specify a
time series of data
@ You can also specify that a particular datum is
uncertain, by defining it as a probability
distribution (referred to as a Stochastic).
he fo AN
Data Time_Series Stochastic
Introduction to GoldSim @
Slide 32
TECHNOLOGY GROUP
Function Elements
@ Other elements act as functions, which operate
on one or more inputs and produce one or more
outputs.
The simplest function element is the Expression.
You define an Expression by simply typing in an
equation. Similar to a cell in a spreadsheet,
when defining an expression, you can use a
wide variety of operators and functions.
> ti = 3*sm(a) min(x,y) = if(b>10,x,y) _ bess(a,b)
exp(k"time) —log(x/y) (ey) * (zy)
Expression
Introduction to GoldSim
Slide 33 Gold$im
TECHNOLOGY GROUP
Dimensions and Units in GoldSim
GoldSim is dimensionally aware.
@ GoldSim elements are all strongly typed
(unit, scalar/vector/matrix, value/condition).
@ GoldSim has an extensive database of units
and conversion factors. You can enter data
and display results in any units. You can
even define your own custom units.
@ When elements are linked, GoldSim enforces
dimensional consistency and carries out all
unit conversions internally.
Introduction to GoldSim @
Slide 34
TECHNOLOGY GROUP
Examples of Other Function Elements
@ Another example of a function element is the
Look-Up Table. In this element, the output is
computed by interpolating between the values
of a user-defined table (1D, 2D, or 3D).
@ Other function elements have more complex
behavior. For example, a Selector allows you to
specify nested “if, then” logic in your model (it
acts like a switch with multiple settings).
Selector
<<——
@ The Extrema element computes the highest >
(peak) or lowest (valley) value achieved by its
input. Extrema
Introduction to GoldSim. ©
Slide 35
TECHNOLOGY GROUP
Dynamic Elements (Stocks)
@ Dynamic element outputs are determined by the
previous values of their inputs.
@ Two types of dynamic elements are the -a-
Fund and the Reservoir. In their
simplest form, these elements require
an initial value, rates of additions +
(deposits) and withdrawals, and output > \G
a current value:
Current Value = Initial Value + {Rate of Change
Introduction to GoldSim @
Slide 36 GoldSim
TECHNOLOGY GROUP
Probabilistic Simulation
Ii Time History: Yolume_in_Pond1
i & SIS & The
Simulation Results
40
Volume in Pond (m3)
it] 10 20 30 40 50 60 70 80 90 100
Time (day)
Introduction to GoldSim
Slide 37
To do predictive
modeling, we need
to represent:
- Uncertain parameters
- Stochastic variables
Use Monte Carlo
simulation
Golds®,
TECHNOLOGY GROUP
Simulating the Occurrence and
Consequences of Discrete Events
@ In some kinds of systems, processes occur which
are discrete, rather than continuous
— accidents, system failures, financial transactions
@ GoldSim provides a powerful collection of
elements for representing the occurrence and
consequences of discrete events.
fe he & ®
Timed_Event Triggered_Event Decision = Randorn_Choice
-@- ‘<> ~f- a te >ir
Milestone Status Discrete_Change Event_Delay Discrete_Change_Delay
Introduction to GoldSim @
Slide 38 GoldSim
TECHNOLOGY GROUP
Creating Subsystems
@ Complex models may have many thousands of
elements. In order to organize and view such a
model, it is useful (in fact, essential) to group the
elements into subsystems.
@ Subsystems are created by placing elements into
Containers. A container is analogous to a “folder”
or a “box”.
@ Containers can be placed into other containers,
and any level of containment can be specified.
@ Containers can be locked.
@ Containers can be easily reused.
@ Containers have many other features for advanced
users.
Introduction to GoldSim @
Slide 39
TECHNOLOGY GROUP
Some Additional Elements Useful for
Material Management Simulations
@ The Splitter element splits an -<-
incoming flow into multiple outputs ;
based on specified fractions. Splitter
@ The Allocator element allocates an
‘ ‘ P ‘ > >
incoming flow into multiple outputs
given specified demands and Allocator
priorities
Introduction to GoldSim @
Slide 40 GoldSimm
TECHNOLOGY GROUP
Delay Elements
@ The output of a Delay element lags its input.
@ Delay elements can be used to model processes such as the
movement of water through soil, the movement of parts on a
conveyor, and the transfer of information from one person to
another.
Y 3 Ny. -
~ Aim nad a pte
Information_Delay Material_Delay Discrete_Delay
Introduction to GoldSim @
Slide 41 GoldSim
TECHNOLOGY GROUP
Conditions and Triggers
@ Some elements can be defined as conditions
(True/False) rather than values
@ Use of conditions can make the model logic
much clearer
@ “Events” are of two types:
— “Scheduled” or “Timed” events
* e.g., once a week regularly, once a year randomly
— Conditional events
* e.g., whenever X becomes greater than Y
bac Golds@
TECHNOLOGY GROUP
Outline
Overview of Advanced GoldSim Features
Introduction to GoldSim @
Slide 43
TECHNOLOGY GROUP
Advanced Properties of Containers
@ You can localize Containers in your model so that
variable names can be repeated without causing
conflicts
@ You can clone a Container (or individual elements in a
Container). Clones all behave identically
— Allows you to rapidly build and maintain models
consisting of parallel systems that are governed by the
same equations but require different inputs
@ You can make Containers conditional. This allows you
to make a Container and all of its contents inactive
unless specific events occur and/or conditions are
met (useful for simulating tasks and projects)
@ Can have their own timestep
@ Can be iterative (looping)
Introduction to GoldSim @
Slide 44 GoldSim
TECHNOLOGY GROUP
Additional Features for Managing
Complexity in GoldSim
@ Powerful search capabilities
— Find an element
— who affects who?
@ The ability to record versions (revisions) of a
particular model file, so that you can identify
the differences between the various versions
of the file as the model is iteratively modified.
Introduction to GoldSim @
Slide 45
TECHNOLOGY GROUP
Convolution Element
@ Solves convolution integrals
@ Inputs:
— An input function (which can be time-
variable)
— A transfer function (impulse response
function)
@ Effectively allows you to create custom
transfer or delay functions
Introduction to GoldSim @
Slide 46
TECHNOLOGY GROUP
History Generator Element
@ A powerful element that generates
stochastic time series given some statistical
inputs (e.g., growth rate, volatility)
— Can simulate a variety of history types
— Can simulate geometric growth, random
walks, and random movement around a
target
— Can simulate correlated arrays of stochastic
variables (by specifying a correlation matrix)
Introduction to GoldSim @
Slide 47
TECHNOLOGY GROUP
Mil Time History
tie Saag im
1.06
1.04
1.02
1.00
0.98
0.96
0.94
o5 06 OF O8 aS 10
Time (yr)
Random Walks: High and Low Volatility
ron Golds®:
TECHNOLOGY GROUP
Mil Time History
Qs Gl Bs SB LS & oP
1.06
1.04
1.02
1.00
0.98
0.96
0.94
0.92
Time (yr)
Random Walks: With and Without Reversion to a
Constant Target
Introduction to GoldSim ©
Slide 49 GoldSim
TECHNOLOGY GROUP
Mil Time History
Ns Bl Gs & LS &
18
16
14
Time (yr)
Geometric Growth: High and Low Volatility
ron Golds®:
TECHNOLOGY GROUP
Mil Time History
Ns fd Gs SS & OP be
40
Time (yr)
Volatile Geometric Growth: Multiple Realizations
ea Golds®,
TECHNOLOGY GROUP
Mil Time History
Qs lB SLs & oP
6.0
Time (yr)
Random Walk That Tracks a Dynamic
Target: With and Without Time Lag
Introduction to GoldSim ©
Slide 52 Gold$im
TECHNOLOGY GROUP
Working with Arrays
GoldSim provides
almost 40 functions
for manipulating
arrays
Intr tion to Gol
Slide 53
jim.
Vector Constructor
vector(,)
Vector Item Access GetItem(y,r)
Vector Row Access GetRow(y,r)
Vector Length GetRowCount()
Vector Sum sumyv()
Vector Product prodv(}
Vector Minimum minv()
Vector Maximum maxv()
Vector Mean meanv()
Vector Standard Deviation sdv()
Vector Minimum Ordinal rowmin()
Vector Maximum Ordinal rowmax()
Vector Dot Product dot(,)
V*VT=M vvmatrix(,)
Matrix Constructor matrix(,)
Matrix Item Access GetItem(m,r,c)
Matrix Row Access GetRow(m,r)
Matrix Column Access GetColumn(m,c)
Matrix Length GetRowCount()
Matrix Width GetColumnCount()
Matrix: sum of items in each row sumr()
Matrix: product of items in each row prodr()
Matrix: mean of items in each row meanr()
Matrix: std, dev. of items in each row sdr()
Matrix: smallest item in each row minr(}
Matrix: greatest item in each row maxr()
Matrix: sum of items in each column sume()
Matrix: product of items in each column — prode()
Matrix: mean of items in each column meanc()
Matrix: std. dev. of items in each column sdc()
Matrix: smallest item in each column minc()
Matrix: greatest item in each column maxc()
Matrix Transpose trans()
Matrix Inverse inv)
Array Minimum (term-by-term) min(,)
Array Maximum (term-by-term) max(,)
Array (Linear Algebra) Multiplication mult(,)
Linking Spreadsheets
and Databases to GoldSim
@ You can dynamically link GoldSim to a spreadsheet
— Import time series, lookup tables, or scalar or array
data from a spreadsheet
— Export time series and other results to spreadsheet
— Spreadsheet can act as a sub-routine
¢ Can link to VBA applications
@ You can import information from any ODBC
compliant database directly into GoldSim prior to a
simulation
— GoldSim records when the database was uploaded
— Facilitates QA/QC of model data
Introduction to GoldSim @
Slide 54
TECHNOLOGY GROUP
Dynamically Linking
External Programs to GoldSim
@ If GoldSim’s built-in elements are not capable
of adequately representing a particular aspect
of your model, you can dynamically link an
external program to GoldSim.
@ It behaves identically to an Expression element,
but instead of using an equation, GoldSim
dynamically calls and runs the external
program.
@ This allows complex external programs to be
linked directly into the probabilistic, graphical
GoldSim framework.
Introduction to GoldSim @
Slide 55
TECHNOLOGY GROUP
Sensitivity Analysis
@ Computes statistical measures
— Based on multiple Monte Carlo simulations
(all variables changed simultaneously)
@ Graphical sensitivity analyses (tornado
charts, x-y charts)
— Variables of interest are changed while
holding all other variables constant
Introduction to GoldSim @
Slide 56
TECHNOLOGY GROUP
SIMULATION forthe REAL WORLD,
Rick Kossik
GoldSim Technology Group
Issaquah, Washington
Slide 1
TECHNOLOGY GROUP
Graphical Sensitivity Analysis
&)
Tornado Chart: x
mS
Tamado Sensitivity Chart- Analyzed Result: x [rn]
a 1 2 3 4 Ss 6
ee SIA
* Normalized X-Y Function Plot - Analyzed Result: x
Independent Variables
Resutts [m]
(tow Hist]
O90 of 02 03 a4 os os a7 08 og
Normalized Values
i er
Intr tion to GoldSim
Slide 2 GoldSi7
TECHNOLOGY GROUP
Optimizing Your Model
@ GoldSim provides the ability to carry out a special
type of run to facilitate optimization of your model.
You specify:
— an objective function (a specific result that you would
like to minimize or maximize),
— an optional constraint (a condition that must be met),
and
— one or more optimization variables (variables in your
model that you have control over).
@ GoldSim then runs the model multiple times,
systematically selecting combinations of values for
each of the optimization variables.
@ Applications:
— Optimizing a design or plan
— Calibrating to historic data
Introduction to GoldSim @
Slide 3 GoldSim
TECHNOLOGY GROUP
Presentation and Documentation Features
Slide 4
GoldSim allows you to incorporate graphics,
text, images and hyperlinks into a model.
By using these tools, you can create a visual
information management system in which
the model, the model documentation, and the
presentation of the model results are one
and the same.
These capabilities, coupled with GoldSim’s
ability to create hierarchical “top-down”
models, allow you to describe your model at
different levels of detail to different
audiences
Introduction to GoldSim @
TECHNOLOGY GROUP
Adding Images, Graphics and Text
K4 GoldSim Pro - Auto_Supply_Chain.gsm* =18) x)
| le Edt wew Insert Graphics Model Help
|Dsa|2Se|RS6leetelaly|4s> |? |RQnBo ||P e Eso: |lnz era
1G) © Container [OEM
|
=
OEM
Delivery
Rate from i t ap y en
Power Train ¢ age R J
: : _
<=>| SS
|@H B>\Oo°Ore/
Go to Power Train
Information_Delay
Order Rate to
a / \
Power Train
a= Material_Management Order Scheduling Q(—————] 1
4 Fam
Dealer_Orders
(External to model)
Result Mode: Editing is disabled. Press F4 to edit model, (623K6 /238KB Scale: 100% (EERIE!
onus Jo WUT
TECHNOLOGY GROUP
Adding Notes and Hyperlinks to
Documents and Web Sites
| Ble Eat view Insert Graphics Model Help
|Ose %=e RSleeoo ale ws |? |RQHao | UheBso: |Kz eo
(2) GB) } © Container [OEM
Delivery cs : b
Rate from § Nate P
Power Train : } ti
_ Element: Production_Scheduling |
his submodel represents those processes that impact production
scheduling, including material constraints, labor constraints, and
ixed plant constraints.
|@a|B>\0oeOV eH
www. goldsim.com/clients/OEM. html
For more information, see
ry «| y a
Delivery_Management Bj
Go to Power Train
Information_Delay
OrderRateto ig J
Power Train
| Material Management | Order_Scheduling | -
@ Dealer_Orders |
Click Here to View Report (External to model)
al | +
Result Mode: Editing is disabled, Press F4 to edit model. (623K6/238KB Scale: 100% ERIE
TECHNOLOGY GROUP
Building Dashboards and Viewing Models
in the GoldSim Player
@ You can design and construct a "dashboard"
interface for models.
@ A “dashboarded” model can be viewed and run
using the free GoldSim Player.
Introduction to GoldSim ©
Slide 7 Gold$im
TECHNOLOGY GROUP
{STSPA)
— —e
LIJRUN LIDOSE RATES
— INTERACTIVE __
PARAMETERS
COMORE RESULTS ~
This is a Simplified TSPA model of the potential Yucca Mountain
Repository. This model is a million-year simulation with all stochastic
parameters set at their mean values. Simple sensitivity analyses can
be done by adjusting the interactive parameters.
For "What If' simulations:
1. Press Reset on the Run Controller.
2. Make changes to sliders and scenario number.
3. Press Run on the Run Controller.
Press the Dose Rates button to view results.
Six scenarios can be modeled:
Choose the scenario by typing the number
into the box and then pressing enter.
1 = Nominal (without disruptive events)
2= Volcanic (conditional dose from a single event)
3 = Eruptive Only (conditional dose from a single eruptive event)
4= Intrusive Only (conditional dose from a single intrusive event)
5 = Combined Nominal and Disruptive (probability weighted)
6 = Human Intrusion
.~ TOTAL DOSE RATE ~
(mremiyr)
tess
Slide
These links allow
users to change
model variables
percent per
year leaving
the reservoir
NATIONAL LABORATORY
sT.1943
CO2-PENS LA-UR 05-6262
Once the model is
run, this link leads
to figures that
summarize the
results
GoldS$im
TECHNOLOGY GROUP
o
Number of
injection wells
running
3
Number of
injection wells
shut off
Sz
40.6 km2
Plume Area
6.55
Percent Full
Back to MAIN
Introduction to GoldSim r 3)
Slide 10 GoldSim
TECHNOLOGY GROUP
Outline
8
©
@ Overview of GoldSim Extension Modules
©
8
Introduction to GoldSim
Slide 11
TECHNOLOGY GROUP
Specialized GoldSim Modules
@ GoldSim was specifically designed to facilitate the
incorporation of additional modules (program
extensions).
@ These either add additional capabilities:
— Distributed Processing Module
@ Or they add new components to address a specific
type of simulation application:
— Financial Module
— Reliability Module
— Contaminant Transport Module
Introduction to GoldSim @
Slide 12
TECHNOLOGY GROUP
Distributed Processing Module
@ Monte Carlo simulation is the perfect parallel
processing application
One machine acts as the Master
Other machines on the network can act as
Slaves
— They must be launched in “slave mode” from
a command line
@ The Master sends realizations to each of the
Slaves, then assembles them at the end of
the realization
Introduction to GoldSim @
Slide 13
TECHNOLOGY GROUP
Financial Module
@ Amodule for simulating financial systems. Provides 5
elements:
> » — Fund: Simulates accounts with interest, deposits and
withdrawals.
>.
> — Cash Flow: Computes the NPV and IRR of a series of cash
flows. Used to model the future return of projects and
business ventures
— Investment: Simulates investments with purchases and sales
— Insurance: Simulates claims against an insurance policy
»
oS
og — Option: Simulates different types of financial options
Introduction to GoldSim ©
Slide 14 Gold$im
TECHNOLOGY GROUP
Reliability Module
@ Facilitates reliability modeling and risk analysis
for complex engineered systems
@ Specialized elements allow you to define failure
and repair rates and functional dependencies
@ Outputs:
— Reliability and availability of systems and
components
— MTTF, MTTR, analysis of failure causes, etc.
— Overall system throughput
— Costs and other metrics can be modeled
Introduction to GoldSim
Slide 15
TECHNOLOGY GROUP
Reliability Analysis for a Machine
¥4 GoldSim Pro - ReliabilityModel3.gsm*
“File Edit View Graphics Model Run Help |
(OSM) +28RS EOVS Aviary ? Rana | MESO S|
ED ¢ > Conteine Path (SENSE ¥]
7 ans SAGE a
= |
Suspension Stowage hi
;
: 4
|
|
»
|<) 3)
Scale: 90% Filter ON Edit Mode
Edit Mode: Press F5 to run model,
Simulation of a Pacemaker
'4 GoldSim Pro - pacemaker 7.gsm
File Edit View Graphics Model Run Help
Oo @Ré& ew
¢ Container Path: |
Pacemaker Reliability
Performance Model
Lead Models
Pacemaker
Defib_Lead_Model
< >
Edit Mode: Press F5 to run model, Scale: 85% Filter ON Edit Mode
olde 7
TECHNOLOGY GROUP
Throughput Analysis For an Industrial Process
F4 GoldSim Pro - Crusher_3.gsm
File Edit View Graphics Model Run Help |
DSH 2A RAS EeVe Avi anso|? RQHAM MUBtBt6: HIeIB
i GH ¢ > Container Path: |\ ore
> 4 “le
i) fo» ih -—op f ror for N
a StockOut_Event — StockOut_Rate ObjFunc o
town a
fat > fer e
x fe)
Stoddut_CumTime adie
A
‘a
@
> ~f rom fi »
x x
Convayorgpaad CumDelayed ProdRate —_—FractProdRate
chushnate Max stoapile Six
oo
nae
Pigte
so
ve SuigeOutEvent ——_SurgeDut Rate
.
> fr
Overtow_Rate 2
gs >
Result Mode: Editing is disabled. Press F4 to edit model. Scale: 80% — Filter ON
onae 10
TECHNOLOGY GROUP
The Contaminant Transport Module
@ Adds specialized elements to facilitate simulation of
contaminant transport through engineered and natural
environmental systems
— Species and Media
— Pathways
— Sources
— Receptors
@* -4> -o BD +h
a 24
Species Fluid Solid Source Receptor
“ental aria —— ra > aes
Cell_Pathway CellNet_Generator Pipe_Pathway External_Pathway Network_Pathway
Introduction to GoldSim @
Slide 19 Gold$im
TECHNOLOGY GROUP
54 GoldSim Pro - Paleochannel.gsm
|| ie Piven ieat taadie tee teen
iaixi
OSH LB@|\AS eed aly x4 |e
fet Hef 22] =) (8) 2
©) G) } © Container [\Simulation ModelWater_Balance
~ Qe tl &s SIS ge oP
|@H/B>|\OoeOor er /|
Result Mode: Editing is disabled, Press F4 to edit model,
Salt Concentration
Time (yr)
1,246 KB /522 KB |Scale: 75% |EEmAIABaEy
TECHNOLOGY GROUP
|| Bie Edt view Insert Graphics Model Help
|| ZA SS Pee $e |? ||P Q © | wees o
B
x
Ge
ie LI
ld
L> |
>|OoeOre/
Se
Receptor_Flows
Pit_to_ULL
Intec} 4
S Result Mode: Editing is disabled, Press F4 to edit model,
1 | @
11,843 KB / 1,666 KB (Scale: 100% [Em aSim
TECHNOLOGY GROUP
Outline
Can GoldSim complement traditional SD codes?
Introduction to GoldSim @
Slide 22
TECHNOLOGY GROUP
How can GoldSim complement traditional
SD codes?
@ GoldSim does not use standard “stock and
flow” syntax
@ Large, complex models are not necessarily
be easy to explain to a non-technical
audience (with a limited attention span)
@ Feedback loops are not as readily apparent
when models get very large and hierarchical
@ Possible complementary use:
— Use traditional stock and flow approach to
initially gain understanding of dynamics and
explain model
— Use more complex probabilistic model for
predictions (if required)
bac Golds@
TECHNOLOGY GROUP
Outline
Questions and Discussion
Introduction to GoldSim
Slide 24
TECHNOLOGY GROUP