SlideShare a Scribd company logo
1 of 38
Simulation
Software
DISCRETE-EVENT SYSTEM SIMULATION
Comparison of Simulation Packages with Programming
Languages
CLASSIFICATION OF SIMULATION
SOFTWARE
General-purpose vs. Application-Oriented packages
– Traditionally: simulation languages and simulators
Languages were flexible but required programming, simulators were easy to
use but not very flexible
– Now, almost all simulation software uses graphical interface so is relatively easy to
use and to learn
– Distinction now is between general-purpose simulation software and applications-
oriented package
Specific applications include manufacturing, call centers, telecommunications,
etc.
CLASSIFICATION OF SIMULATION
SOFTWARE
Modeling approaches
– Event-scheduling approach
Can uses general programming languages, or some simulation languages
During processing of an event, no simulated time passes
– Process-interaction approach
 Now used by most simulation software
 Instead of identifying events, identify entities (a.k.a. processes) that are created, flow around or through the
system
 May have multiple realizations of an entity/process
 May have different kinds of entities/processes
 “Program” consists of a description of what happens to the different kinds of processes (including their entry and
exit)
 Usually expressed graphically, like a flowchart
 During processing of an entity/process, simulated time usually passes
CLASSIFICATION OF SIMULATION
SOFTWARE
Common modeling elements
– Entities – represent customers, parts, messages, paperwork, airplane, etc.
– Attributes – Information stored with each entity
Usually, every individual entity has the same set of attributes, but the values differ
to distinguish the entities
Some attributes are automatic, others are user-defined and user-maintained
– Resources – servers, machines, workers, nodes,
links, runways, gates, agents, clerks, etc.
– Queues – where entities wait if resources are not
available
World Views of Simulation Model
Event-Scheduling View
◦ Focus on processing each event
Process-interaction View
◦ View model as a set of processes through which an entity “flows”
◦ Life-cycle approach – time-sequenced list of events, activities, & delays
◦ Common in simulation environments
Activity Scanning Approach
◦ Focus on activities & conditions that allow it to begin
◦ At each clock advance, scan conditions to start any activity that can begin
◦ Approach is simple, but scan is slow
◦ New 3-phase approach includes some event scheduling – somewhat more complex but
more efficient
Categories of Simulation Software
General Purpose Languages
◦ C, C++, Java
Simulation Languages
◦ GPSS, SIMAN, SLAM, SSF
Simulation Environments
◦ Enterprise Dynamics, Arena, SIMUL8
Features of Simulation Languages
Some focus on a single type of application
Built in features include
◦ Statistics collection
◦ Time management
◦ Queue management
◦ Event generation
9
Features of Simulation Environments
Hardware and software requirements
– Matches platform/OS – Windows, UNIX, MacOS
Animation and dynamic graphics
– Concurrent vs. postprocessing
– 2D vs. 3D
– Import CAD drawings
– Display statistics, graphs dynamically during execution
10
Some focus on one type of application
Icon based
Analysis of I/O
Advanced Statistics
Optimization
Support for Experimentation
DESIRABLE SOFTWARE FEATURES
General capabilities
– Modeling flexibility – ability to drill down to lower levels of programming,
create custom modeling constructs
– Ease of use
– Hierarchical modeling – submodels containing submodels, etc.
– Fast execution speed
– Ability to create user-friendly front/back ends for template creation
– Run-time version for wide distribution of model
– Import/export data from/to other applications
– Automatic execution of models for different input-parameter combinations
– Combined discrete/continuous modeling
– Ability to initialize in other than empty & idle
state
– Save state at end to re-start later
– Affordable
DESIRABLE SOFTWARE FEATURES
Statistical capabilities
– Adequate random-number generator for basic U(0, 1) variates
Statistical properties, cycle length, adequate streams and substreams
RNG seeds should have good defaults, be fixed – not dependent on clock
– Comprehensive list of input probability distributions
Continuous, discrete, empirical
– Ability to make independent replications
– Confidence-interval formation for output performance measures
– Experimental design
– Optimum-seeking
 • Customer support and documentation
 • Output reports and graphics
– Standard defaults, customizable – stored in
database for postprocessing
Evaluating Software
Consider multiple issues
◦ Ease of use, support, applicability
Speed of execution
◦ Experimental runs – Debugging
Beware of demos & advertising
◦ Will focus on strengths only
◦ Ask for demo of YOUR problem
13
Evaluating Software
Carefully consider comparison checklists with yes/no answers
Can software link to external languages
Carefully consider trade-off between graphical model building
& simulation programming language
Costs – one-time vs. licensing
14
GENERAL-PURPOSE SIMULATION
PACKAGES
• See text for discussion of two popular general-purpose
simulation packages – Arena and Extend
– In each, builds a model of a small manufacturing system
• Mentions some additional general-purpose simulation
packages
– AweSim, Micro Saint, GPSS/SLX, SIMPLE++, SIMUL8, Taylor
Enterprise Dynamics
15
GPSS
General Purpose Simulation System
Highly Structured
Process Approach
Queuing Systems
Block Diagrams
40 standard blocks
Block corresponds to a statement
Transactions FLOW through the system
16
Other Simulation Software
SSF – Scalable Simulation Framework
◦ Application Program Interface (API)
◦ Object-oriented, process view
◦ 5 Base Classes
Process, Entity, Event, InChannel, OutChannel
◦ Designed for high-performance computers
◦ Bridges pure Java & simulation languages
17
Simulation Environments ~~
Common Features
GUI
Animation
Automatic statistics
Output (tables, graphs, custom)
Analysis
Process world view
18
Some allow
Event Scheduling
Mixed continuous-discrete
models
Animations – 2D & 3D
Business Graphics
Simulation Environments
AnyLogic
Arena
AutoMod
Enterprise
Dynamics
ExtendSim
Flexsim
ProModel
SIMUL8
19
AnyLogic
Supports: discrete event, agent-based, system dynamics (& combination)
Hybrid: discrete & continuous
Object library
Java models, publish as applets
Animation, Statistics, optimization, debugger
20
Arena
Discrete & Continuous systems
Object-based; GUI
2D, 3D Animation
Business & Manufacturing processes
Supports Analysis
OptQuest for optimization
Based on SIMAN; embedded Visual Basic
21
SIMSCRIPT
SIMSCRIPT, a general programming system specially adapted to the problems
of writing simulation programs. The advantages of SIMSCRIPT are that it
reduces the time needed to program simulations of even moderate complexity
and provides increased flexibility in modifying such models in accordance with
the findings of preliminary analysis and other circumstances.
The SIMSCRIPT programming system is especially designed to facilitate the
writing of simulation programs. Digital simulations generally consist of a
numerical description of "status", which is modified at various points in
simulated time called "events".
22
AutoMod
Manufacturing & Materials handling
Detailed large models for planning, decision support, control
systems
AutoStat - Experimentation & analysis
AutoView - Make movies of 3D animations
Full simulation language included
23
Object oriented
Discrete Events
Open GL 3D visualization engine
4D Script programming language
Interfaces with databases
OptQuest optimization
24
ExtendSim
Block-diagram approach
Versions for mixed and for continuous only
Includes C-like programming language
Supports linking to external languages
25
Flexsim
Dynamic-flow systems - manufacturing
Discrete-event, Object-oriented simulator; developed in C++ using Open GL
Animation: 2D, 3D, Virtual reality
Drag & Drop
26
ProModel
Manufacturing Systems
Simulation & Animation (2D & 3D)
Output viewer – graphs, tables
SimRunner – optimizer based on evolutionary algorithm technique
OptQuest is also available
MedModel, ServiceModel
27
SIMUL8
Service industries, transaction processing
Drop & Drag model development
Saves in XML format
Pre-built templates for common applications
3D virtual reality graphics
Links to database
28
Experimentation & Statistical
Analysis Tools
Included in all most all simulation systems
Add-ons also available
Features
◦ Optimization – define fitness or cost function
29
Arena
Output & Process Analyzer
Confidence intervals
Comparison of systems
Warm-up determinations
Graphs (all types) – 2D & 3D
Scenario definition
30
AutoStat (from AutoMod)
Warm-up determination
Steady state determination
Confidence intervals
Sensitivity analysis
Optimization via evolutionary strategy
31
OptQuest
Based on scatter search, tabu search, linear-integer programming, data
mining, neural nets (evolutionary)
Uncertainty problems
Global optimums
Handles non-linear and discontinuous relationships
32
SimRunner (from ProModel)
Based evolutionary models & genetic algorithms
Optimizations
3D graphics
Warm-up (steady state) determination
33
Conclusion
Many simulation software environments available
Many do have trial versions to download for trying
Before deciding, consider the features and the add-ons available that will
suit your particular environment
34
GPSS Block Diagram for Example
Each entity has a name
Name each queue, server, etc.
In rectangle, parameters (as necessary)
Right attachment, name of entity
Far right column – GPSS Command
35
GPSS Syntax
Assembly-like
Label OpCode Subfields ; comment
Label: col. 1, <= 9 alphanumeric, alpha start
OpCode: 4+ characters of command
Subfields: as necessary, separated by commas
Comment: after ; or with * in column 1
36
GPSS Program
Declaration Section
Customized vs. Standard Output
Code Section
37
38
Generate rvexpo (1,&IAT)
Queue Systime
Queue Line
Seize Checkout
Depart Line
Advance rvnorm(1,&mean,&stdev)
Release Checkout
Depart Systime
Test_GE M1, 4, Term
Blet &Count = &Count +1
Ter Terminate 1
Start &Limit

More Related Content

Similar to Software.ppt

“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara
Edge AI and Vision Alliance
 
Desirable software features simulation & modeling
Desirable software features simulation & modelingDesirable software features simulation & modeling
Desirable software features simulation & modeling
Shashwat Shriparv
 
CISSP Week 22
CISSP Week 22CISSP Week 22
CISSP Week 22
jemtallon
 
peter_proramming_1 (Repaired)
peter_proramming_1 (Repaired)peter_proramming_1 (Repaired)
peter_proramming_1 (Repaired)
Brandon S
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
Justin Basilico
 

Similar to Software.ppt (20)

Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
Justin Basilico, Research/ Engineering Manager at Netflix at MLconf SF - 11/1...
 
The software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorialThe software management and engineering in the AI-oriented projects tutorial
The software management and engineering in the AI-oriented projects tutorial
 
Modelling simulation (1)
Modelling simulation (1)Modelling simulation (1)
Modelling simulation (1)
 
“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara“Updating the Edge ML Development Process,” a Presentation from Samsara
“Updating the Edge ML Development Process,” a Presentation from Samsara
 
CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1CS8494 SOFTWARE ENGINEERING Unit-1
CS8494 SOFTWARE ENGINEERING Unit-1
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Innoslate 4.5 and Sopatra
Innoslate 4.5 and SopatraInnoslate 4.5 and Sopatra
Innoslate 4.5 and Sopatra
 
pccf unit 1 _VP.pptx
pccf unit 1 _VP.pptxpccf unit 1 _VP.pptx
pccf unit 1 _VP.pptx
 
Harmony: what is it, how does it work, best practices. Integration features, ...
Harmony: what is it, how does it work, best practices. Integration features, ...Harmony: what is it, how does it work, best practices. Integration features, ...
Harmony: what is it, how does it work, best practices. Integration features, ...
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
 
Kairos aarohan
Kairos  aarohanKairos  aarohan
Kairos aarohan
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based Development
 
Desirable software features simulation & modeling
Desirable software features simulation & modelingDesirable software features simulation & modeling
Desirable software features simulation & modeling
 
Unit_I.pptx
Unit_I.pptxUnit_I.pptx
Unit_I.pptx
 
CISSP Week 22
CISSP Week 22CISSP Week 22
CISSP Week 22
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Pro Model
Pro ModelPro Model
Pro Model
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - Overview
 
peter_proramming_1 (Repaired)
peter_proramming_1 (Repaired)peter_proramming_1 (Repaired)
peter_proramming_1 (Repaired)
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 

Recently uploaded

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 

Software.ppt

  • 2.
  • 3. Comparison of Simulation Packages with Programming Languages
  • 4. CLASSIFICATION OF SIMULATION SOFTWARE General-purpose vs. Application-Oriented packages – Traditionally: simulation languages and simulators Languages were flexible but required programming, simulators were easy to use but not very flexible – Now, almost all simulation software uses graphical interface so is relatively easy to use and to learn – Distinction now is between general-purpose simulation software and applications- oriented package Specific applications include manufacturing, call centers, telecommunications, etc.
  • 5. CLASSIFICATION OF SIMULATION SOFTWARE Modeling approaches – Event-scheduling approach Can uses general programming languages, or some simulation languages During processing of an event, no simulated time passes – Process-interaction approach  Now used by most simulation software  Instead of identifying events, identify entities (a.k.a. processes) that are created, flow around or through the system  May have multiple realizations of an entity/process  May have different kinds of entities/processes  “Program” consists of a description of what happens to the different kinds of processes (including their entry and exit)  Usually expressed graphically, like a flowchart  During processing of an entity/process, simulated time usually passes
  • 6. CLASSIFICATION OF SIMULATION SOFTWARE Common modeling elements – Entities – represent customers, parts, messages, paperwork, airplane, etc. – Attributes – Information stored with each entity Usually, every individual entity has the same set of attributes, but the values differ to distinguish the entities Some attributes are automatic, others are user-defined and user-maintained – Resources – servers, machines, workers, nodes, links, runways, gates, agents, clerks, etc. – Queues – where entities wait if resources are not available
  • 7. World Views of Simulation Model Event-Scheduling View ◦ Focus on processing each event Process-interaction View ◦ View model as a set of processes through which an entity “flows” ◦ Life-cycle approach – time-sequenced list of events, activities, & delays ◦ Common in simulation environments Activity Scanning Approach ◦ Focus on activities & conditions that allow it to begin ◦ At each clock advance, scan conditions to start any activity that can begin ◦ Approach is simple, but scan is slow ◦ New 3-phase approach includes some event scheduling – somewhat more complex but more efficient
  • 8. Categories of Simulation Software General Purpose Languages ◦ C, C++, Java Simulation Languages ◦ GPSS, SIMAN, SLAM, SSF Simulation Environments ◦ Enterprise Dynamics, Arena, SIMUL8
  • 9. Features of Simulation Languages Some focus on a single type of application Built in features include ◦ Statistics collection ◦ Time management ◦ Queue management ◦ Event generation 9
  • 10. Features of Simulation Environments Hardware and software requirements – Matches platform/OS – Windows, UNIX, MacOS Animation and dynamic graphics – Concurrent vs. postprocessing – 2D vs. 3D – Import CAD drawings – Display statistics, graphs dynamically during execution 10 Some focus on one type of application Icon based Analysis of I/O Advanced Statistics Optimization Support for Experimentation
  • 11. DESIRABLE SOFTWARE FEATURES General capabilities – Modeling flexibility – ability to drill down to lower levels of programming, create custom modeling constructs – Ease of use – Hierarchical modeling – submodels containing submodels, etc. – Fast execution speed – Ability to create user-friendly front/back ends for template creation – Run-time version for wide distribution of model – Import/export data from/to other applications – Automatic execution of models for different input-parameter combinations – Combined discrete/continuous modeling – Ability to initialize in other than empty & idle state – Save state at end to re-start later – Affordable
  • 12. DESIRABLE SOFTWARE FEATURES Statistical capabilities – Adequate random-number generator for basic U(0, 1) variates Statistical properties, cycle length, adequate streams and substreams RNG seeds should have good defaults, be fixed – not dependent on clock – Comprehensive list of input probability distributions Continuous, discrete, empirical – Ability to make independent replications – Confidence-interval formation for output performance measures – Experimental design – Optimum-seeking  • Customer support and documentation  • Output reports and graphics – Standard defaults, customizable – stored in database for postprocessing
  • 13. Evaluating Software Consider multiple issues ◦ Ease of use, support, applicability Speed of execution ◦ Experimental runs – Debugging Beware of demos & advertising ◦ Will focus on strengths only ◦ Ask for demo of YOUR problem 13
  • 14. Evaluating Software Carefully consider comparison checklists with yes/no answers Can software link to external languages Carefully consider trade-off between graphical model building & simulation programming language Costs – one-time vs. licensing 14
  • 15. GENERAL-PURPOSE SIMULATION PACKAGES • See text for discussion of two popular general-purpose simulation packages – Arena and Extend – In each, builds a model of a small manufacturing system • Mentions some additional general-purpose simulation packages – AweSim, Micro Saint, GPSS/SLX, SIMPLE++, SIMUL8, Taylor Enterprise Dynamics 15
  • 16. GPSS General Purpose Simulation System Highly Structured Process Approach Queuing Systems Block Diagrams 40 standard blocks Block corresponds to a statement Transactions FLOW through the system 16
  • 17. Other Simulation Software SSF – Scalable Simulation Framework ◦ Application Program Interface (API) ◦ Object-oriented, process view ◦ 5 Base Classes Process, Entity, Event, InChannel, OutChannel ◦ Designed for high-performance computers ◦ Bridges pure Java & simulation languages 17
  • 18. Simulation Environments ~~ Common Features GUI Animation Automatic statistics Output (tables, graphs, custom) Analysis Process world view 18 Some allow Event Scheduling Mixed continuous-discrete models Animations – 2D & 3D Business Graphics
  • 20. AnyLogic Supports: discrete event, agent-based, system dynamics (& combination) Hybrid: discrete & continuous Object library Java models, publish as applets Animation, Statistics, optimization, debugger 20
  • 21. Arena Discrete & Continuous systems Object-based; GUI 2D, 3D Animation Business & Manufacturing processes Supports Analysis OptQuest for optimization Based on SIMAN; embedded Visual Basic 21
  • 22. SIMSCRIPT SIMSCRIPT, a general programming system specially adapted to the problems of writing simulation programs. The advantages of SIMSCRIPT are that it reduces the time needed to program simulations of even moderate complexity and provides increased flexibility in modifying such models in accordance with the findings of preliminary analysis and other circumstances. The SIMSCRIPT programming system is especially designed to facilitate the writing of simulation programs. Digital simulations generally consist of a numerical description of "status", which is modified at various points in simulated time called "events". 22
  • 23. AutoMod Manufacturing & Materials handling Detailed large models for planning, decision support, control systems AutoStat - Experimentation & analysis AutoView - Make movies of 3D animations Full simulation language included 23
  • 24. Object oriented Discrete Events Open GL 3D visualization engine 4D Script programming language Interfaces with databases OptQuest optimization 24
  • 25. ExtendSim Block-diagram approach Versions for mixed and for continuous only Includes C-like programming language Supports linking to external languages 25
  • 26. Flexsim Dynamic-flow systems - manufacturing Discrete-event, Object-oriented simulator; developed in C++ using Open GL Animation: 2D, 3D, Virtual reality Drag & Drop 26
  • 27. ProModel Manufacturing Systems Simulation & Animation (2D & 3D) Output viewer – graphs, tables SimRunner – optimizer based on evolutionary algorithm technique OptQuest is also available MedModel, ServiceModel 27
  • 28. SIMUL8 Service industries, transaction processing Drop & Drag model development Saves in XML format Pre-built templates for common applications 3D virtual reality graphics Links to database 28
  • 29. Experimentation & Statistical Analysis Tools Included in all most all simulation systems Add-ons also available Features ◦ Optimization – define fitness or cost function 29
  • 30. Arena Output & Process Analyzer Confidence intervals Comparison of systems Warm-up determinations Graphs (all types) – 2D & 3D Scenario definition 30
  • 31. AutoStat (from AutoMod) Warm-up determination Steady state determination Confidence intervals Sensitivity analysis Optimization via evolutionary strategy 31
  • 32. OptQuest Based on scatter search, tabu search, linear-integer programming, data mining, neural nets (evolutionary) Uncertainty problems Global optimums Handles non-linear and discontinuous relationships 32
  • 33. SimRunner (from ProModel) Based evolutionary models & genetic algorithms Optimizations 3D graphics Warm-up (steady state) determination 33
  • 34. Conclusion Many simulation software environments available Many do have trial versions to download for trying Before deciding, consider the features and the add-ons available that will suit your particular environment 34
  • 35. GPSS Block Diagram for Example Each entity has a name Name each queue, server, etc. In rectangle, parameters (as necessary) Right attachment, name of entity Far right column – GPSS Command 35
  • 36. GPSS Syntax Assembly-like Label OpCode Subfields ; comment Label: col. 1, <= 9 alphanumeric, alpha start OpCode: 4+ characters of command Subfields: as necessary, separated by commas Comment: after ; or with * in column 1 36
  • 37. GPSS Program Declaration Section Customized vs. Standard Output Code Section 37
  • 38. 38 Generate rvexpo (1,&IAT) Queue Systime Queue Line Seize Checkout Depart Line Advance rvnorm(1,&mean,&stdev) Release Checkout Depart Systime Test_GE M1, 4, Term Blet &Count = &Count +1 Ter Terminate 1 Start &Limit