ExtendSim Tutorial
Dr David Brown April 28, 2010
Innovative Decisions, Inc. 1945 Old Gallows Road Suite 207 Vienna, VA 22182 [Link] Phone:(703) 854-1130
Agenda
ExtendSim Overview Continuous and Discrete Models Model Optimization Custom Model Blocks Animation Building Animation Objects Integration with Bayesian Networks.
What is ExtendSim?
GUI based simulation package Continuous, discrete event, discrete rate, and agent-based modeling is supported Robust set of modeling and data analysis components. Allows for development of custom components. Links to external data sources and also includes built-in databases Supports animation and advanced graphic for enhanced presentation
Extend Libraries
Internal Block Settings
Activity Block
Double click to open block and set internal options
Typical Applications
Manufacturing
Assembly lines, distribution, shipping
Facilities
Customer flow, operational efficiency, logistics
Industrial Operations
Construction, mining
Military Operations
Troop readiness, military logistics
Process Improvement
Business operations
Output
Built-in graphing and report generation Export data to spreadsheets or databases
0.00025 0.0002
0.00015
Probability
Baseline Rule-based Bayesian Network 0.0001
0.00005
0 20000
22000
24000
26000
28000
30000
32000
34000
Weekly Net Revenue ($)
Hierarchical Blocks
1 Assembly Start BinsIn
Bins In Type Bin In Bins Out Bins In Bins Out Bins In Bins Out Bins In Bins Out Bins In Bins Out Bins In Bins Out
Assembly Station
Sta#
2 Station #
Sta#
3 Assembly Station Station #
Sta#
4 Assembly Station Station #
Sta#
5 Assembly Station Station #
Sta#
Assembly Station
Station #
Rand
1 2
3 6 Station #
Sta#
Assembly Station
7 Station #
Sta#
8 Assembly Station Station #
Sta#
9 Assembly Station Station #
Sta#
10 Assembly Station Station #
Sta#
Assembly Station
BinsOut
Bins In Bins Out Bins In Bins Out Bins In Bins Out Bins In Bins Out Bins In Bins Out
a BinsIn ? b BinTy pe Get A T U D F b a BinsOut
select
D Bin Load Delay
L W Conv ey or Queue
Eqn A Receiv e R C T # Stations B N a>b
Rand
Y 1 Constant
Receiv e
1 2 3 Delay Time
R C T Load Delay Mean
3 Constant Receiv e R C T Load Delay Dev
StationIn
Activity-Based Costing
Types of Models
Continuous Models
Values are always present Examples: Temperature in a room, Accounts, Fuel in your car
Discrete Models
Things happen at specific times Examples: People enter a building, Cars in a parking lot, Files in an inbox
Many models contain elements of each
Example: Deposit to a savings account
Inputs and Outputs
Continuous Block Outputs must be connected to Inputs
y =f (x)
Discrete Input
D F
Discrete Block
Discrete Output Continuous Output
Continuous Input
Continuous Output
Continuous Input Drag Down Tabs
D C
F U L P NB SD SH PT BT DT AS
Continuous Models
1.25 ### Hare Births get Hare Population
Hare Pop
Buttons
Lynx Pop
Hare Birth Rate
Lynx Pop Hare Pop
Hares Killed
0.25 ### 100 ### Hare Density Ly nx Birth Rate Ecosy stem Area Value Ly nx Births want get Ly nx Population
Lynx Pop
Ly nx Mortality
Lynx Pop
Ly nx Deaths
If only the value blocks are used, there are no special requirements
Discrete Models
T= 60 4000 C CO Recy cle 100 800 0 0 % Q Valv e 2 ID C CO I Indicator R Q Valv e 3 0 12000
Executive Block
C CO Source R
Q Valv e 1
CO I Indicator
C Sink
CO
Reception
Processing y =f (x)
Stage
y =f (x)
Stage
Stage
y =f (x)
Indicator 1
B N 1
A A=2 Y
Indicator 1
B N demand 0
A A=0 Y
Indicator 2
B N demand 0 0
A A=0 Y
demand
start
Start
F L
L Gate 1 Stage 1
AD
L Gate 2 Stage 2
AD
Start L1 L2 L3 L4
L1
max con
L2
Stage 3
L3
Gate 3 Stage 4
AD
L4
Stage
Stage 1: Stage 2: Stage 3: Stage 4:
Open Valve 1 and release flow into Reception Open Valve 2 and release flow into Processing Process the flow Open Valve 3 and release flow into Sink
An executive block must be used if any discrete blocks are used in a model. The executive block must be to the left of all other blocks.
Example Problem
Work station for evaluation of incoming paperwork
1000 forms as input
100 per hour enter system
Start with 3 workers One worker can review one form at a time Variable time to complete review
Mean 3 Std Dev 1
Work Flow Functions
Incoming Files 1 file 1000 100 per hour Inbox 1 file File Review Mean 3 Std Dev 1 mins 1 worker 3 1 worker Completed Files
Workers
Work Flow Model
Incoming Files 1000 100 per hour Workers 3 1 worker Inbox 1 file File Review Mean 3 Std Dev 1 mins 1 worker Completed Files 1 file
24
2 0 0 D F
13 13 L
TR
Run ExtendSim
Marine Corps Fuel and Water Logistics
Modeled availability of complex fuel and water systems based on repair and transport of components
Marine Corps Fuel and Water Logistics
Included use, repair, procurement, transport, and use-life guidelines for multiple system components with different attributes.
Output was system availability data for multiple battalions with different system use profiles.
Navy Ship and Aircraft Operations
Ship and aircraft loading, movement, and debarkation modeling.
Naval Ship Design
Model movement of troops and vehicles within a new ship design to see how long it takes to outfit and deploy a landing force with their vehicles.
Model Optimization
Extend can be used to optimize problems Mathematical solutions require equal numbers of variables and equations to solve
These are not always available
Extend uses genetic algorithms to optimize multiple variables in one equation
Optimization Problem
An unprocessed file results in an average loss of $300 A processed file results in a gain of $1000 A worker costs $3000 per 600 time units What is the optimal number of people to assign to this job?
Work Flow Optimization
L Inbox
0 0 D F
585 r L
Completed
TR
Workers
Run ExtendSim
Set Optimization
Complex Optimization
Fire
Full FireCalls
Dispatch Operations Simulation
Dispatchers F
# FEL In progress Completed 40
E L
Processing Input Data
F
# FE
In progress Completed 0
Performance Stats
EMS
Full
# of processors
# FL
F L
In progress Completed 0
EMS Calls
Call Processor(s)
#
E L
EL
In progress Completed 0
Pct of Calls < 15 secs
Full
Target 0.95
LE Calls
Pct of calls < 40 secs Target 0.99
# F
In progress Completed 23933 In progress
# E Full Non-emergency Calls
Completed 28699 In progress
L
# L
Completed 31143
Full
Dispatch Optimization
Modified Blocks
The blocks that come with ExtendSim can be modified to Meet unique customer needs
a b c a b c demand a b c a b c demand a b c
Standard Block
Modified Block
One IDI customer needed a custom batching block that could create custom orders instead of batching the same items every time
Other Custom Blocks
a b c demand a b c demand a b c
use # use # I u change
F L W
D L W
F
u change
Buffer with variable input Variable unbatch
Bin with variable starting items
use
# u
use
# u
# Gate
# Gate sensor
i change change
sensor
Labor pool with variable start laborers
Gate with variable number Of items within the gate area
Animation
Advanced 3D visualization is supported.
Example Animation
Run ExtendSim
Integrating Netica Models with ExtendSim
Hostile Neutral Friendly None Intel 18.4 15.1 16.5 50.0 EW F14Radar 27.0 CommRadar1 11.7 CommRadar2 13.2 Mig29Radar 21.5 MissileRadar 7.75 NoRadar 18.8 F14 Mig29 Boeing Airbus Other None RSM 30.8 24.3 9.25 7.25 5.40 23.0
IFF ValidReply 5.60 NoReply 94.4
Identity Hostile 42.0 Neutral 25.5 Friendly 32.5
Classification Mig29 30.0 Missile 5.00 Boeing 15.0 Airbus 10.0 F14 40.0
Comms True 33.9 False 66.1
Position AirRoute 20.2 ReturnToForce 11.5 Neither 68.3
Kinematics GT700kts 40.3 s500to700Kts 41.5 LT500kts 18.3
Netica Models
Netica is software package for the creation of Bayesian Networks and influence diagrams by Norsys Software Corp Comes in a graphical user interface version and a set of Application Programmer Interface (API) functions
Sample Network
Visit To Asia visit 1.00 no visit 99.0 Tuberculosis present 1.04 absent 99.0 Smoking smoker 50.0 non smoker 50.0 Lung Cancer present 5.50 absent 94.5 Bronchitis present 45.0 absent 55.0
Tuberculosis or Cancer true 6.48 false 93.5 XRay Result abnormal 11.0 normal 89.0
Distributed by Norsys Software Corp.
Chest Clinic
Contributing Factors Diseases Symptoms
Dyspnea present 43.6 absent 56.4
Example Inference
Visit To Asia visit 1.22 no visit 98.8 Tuberculosis present 6.72 absent 93.3 Smoking smoker 100 non smoker 0 Lung Cancer present 64.6 absent 35.4 Bronchitis present 60.0 absent 40.0
Tuberculosis or Cancer true 70.6 false 29.4 XRay Result abnormal 100 normal 0
Distributed by Norsys Software Corp.
Chest Clinic
Contributing Factors Diseases Symptoms
Dyspnea present 73.2 absent 26.8
Adding known information that the person is a smoker and that their chest XRay was abnormal cause the probability of cancer to jump from 5% to 65%
Influence Diagrams
Umbrella
Distributed by Norsys Software Corp.
Weather no rain 70.0 rain 30.0
Forecast sunny 53.5 cloudy 21.5 rainy 25.0
Decide Umbrella take it 35.0000 leave at home 70.0000
Satisfaction
A n Influence Diagram is a Bayesian Network that also includes Decision and Utility nodes
Library Description
Get Belief
State#
Belief
Input desired state number
Output belief
The Netica library for Extend is a set of modeling blocks that allows you perform any function on a Netica Bayesian Network or Influence Diagram that can be done using the Netica graphical user interface. Inputs an outputs allow for dynamic interaction with the rest of the Extend model.
Why is this Unique?
Extend
Qu'est que c'est le croyance que le noeud de rayons X est sur l'etat un?
What?
Netica API
ModL (Pascal-based)
C++ (C-based)
Extend and Netica can not communicate with each other directly
Custom Translator Allows Communications
Extend Qu'est que c'est le croyance que le noeud de rayons X est sur l'etat un? What is the belief that node XRay is in state one? Netica API
.675
ModL (Pascal-based)
Translator (C++)
C++ (C-based)
Applications for Netica Users
Test a network you have created in its simulated operating environment Generate probabilities and utilities for CPT tables by having the network learn from a simulation Develop networks that can change over time Batch process a large number of cases by reading and writing to an Excel worksheet Reduce complexity by building multiple, smaller networks and then using Extend to have them operate as one
Applications for Extend Users
Have networks make complex, multi-attribute decisions during the simulation
Network can control the simulation
Model a complex phenomenon that can not be described mathematically
Netica Library
File Functions
Initialize/Open/ Compile Network Initialize/Open Network Open/ Compile Network Sav e Network Close Network
Compile Network
Fade Node
Retract All Findings
Network Functions
Retract Node Findings Rev ise Probabilities Select Network
degree
Enter/Set Functions
Enter Finding Enter Finding Not Enter Likelihood Set Node Value Set State
degree
Set State Not
Set Utility Value
1 2 3 4 5
Value State State Value
Get Functions
Get Belief Get Belief Get Decision Get Likelihood Most Likely State Most Likely Value Get Statistics Get Value
Belief
State#
Belief
Decision#
State# Likelihood
State
Value
Mean
Std Dev
Value
Integrated Simulation Example
Aircraft Motion Equation Model ExtendSim Radar Cross Section Bayesian Network Netica
Radar Equation Model ExtendSim
Shoot Decision Influence Diagram Netica
42
Aircraft Radar Cross Section
Bayesian Network RCS Model
dBsm 35 30 25 20 15 10 5 0 Test Data Model Prediction
Bayesian network provides a good representation of the RCS
Radar Target Track
(F-16 FMS Radar vs. B-29)
45 40
35
YRange (NM)
No Detection Detection 30
25
20 60 70 80 90 100 XRange (NM) 110 120 130
Model displays target scintillation (fades in and out) like a real engagement
Combat ID Network
Hostile Neutral Friendly None Intel 18.4 15.1 16.5 50.0 EW F14Radar 27.0 CommRadar1 11.7 CommRadar2 13.2 Mig29Radar 21.5 MissileRadar 7.75 NoRadar 18.8 F14 Mig29 Boeing Airbus Other None RSM 30.8 24.3 9.25 7.25 5.40 23.0
IFF ValidReply 5.60 NoReply 94.4
Identity Hostile 42.0 Neutral 25.5 Friendly 32.5
Classification Mig29 30.0 Missile 5.00 Boeing 15.0 Airbus 10.0 F14 40.0
Comms True 33.9 False 66.1
Position AirRoute 20.2 ReturnToForce 11.5 Neither 68.3
Kinematics GT700kts 40.3 s500to700Kts 41.5 LT500kts 18.3
Courtesy of CDR George Laskey
Evaluation of Utility
Action/Hypothesis
Friendly
- Destroy friendly aircraft. - Damage US prestige. - Tens of million of dollars in damage and loss of pilot - Possible loss of job
Commercial
- Destroy commercial airliner and kill possibly hundreds of civilians and cause tens of million of dollars in damage - No harm to US forces but significant damage to US prestige. - No harm to US forces or prestige
Hostile
- Destroy enemy aircraft. - Reaffirms US forces are capable of defending themselves.
Shoot
Dont Shoot
- No harm to US forces or prestige.
- Significant damage to US fleet and prestige on the order of hundreds to thousands of lives lost and hundreds of millions to billions $ in damage
47
Expert Elicitation Network Test
250 200
150
Engagements
Shoot No_Shoot 100
50
0 MIG-29 Missile Boeing Aircraft Airbus F-14
Network Modification
Network was then modified by adding arcs from node Identity to nodes EW and Kinematics. A new policy that a MIG-29 flying at the radar at speeds greater than 500 knots and with their radar on is considered to be hostile. Otherwise, these aircraft are neutral. The influence diagram was cleared of all probabilities and utility values. The equation-based model generated random aircraft engagements, but was modified to randomly make the shoot decision and then determine the utility of that decision. Once all node states for the influence diagram were set, the probabilities and utility values were updated
49
Simulation Learning Network Test
250
200
150
Engagements
Shoot No_Shoot 100
50
0 MIG-29 Missile Boeing Aircraft Airbus F-14
Genetic Agents Teach an Influence Diagram
OpEMCSS
CSS Priority
count Agent1 Mov e
Current Game Results
Reward1
Agent2 Mov e
Reward2
Set Game Parameters
Initialize
Initialize/Open/ Compile Network Set A Local Agent1 Best Game A degree
First Move
Local Agent2 Best
Set A
B
Def ine Rewards
Set A
Multiple Games to Find Best Strategy
Get Ev olv e Agent1 Ev olv e Ev olv e A Agent2 Ev olv e Agent1 Mov e Get Split A Agent2 Mov e Local
Logic
Set A
Agent1
Agent1 Reward Local Agent2 Reward Assemble
?
A
Agent1
Set A
Agent2 Agent2
A
Results
Mov e Statistics
Set Node Value
Set Node Value
Set Utility Value
Rev ise Probabilities
Sav e Network
Close Network
Statistics
E
b
Value Value Value
Def ine MOEs
Agent1
degree
Agent2
Utility
degree
Game2