Simulation Science

Wednesday, September 23, 2009

Jump into Learning about Simulation Science

Intro to Simulation Science

Case Studies

Advanced Topics in Simulations

For Professors and Trainers

Warmly,
Justin Lyon

© 2005 Justin Lyon. All Rights Reserved.
Reproduction permitted with permission of author: Justin Lyon.

How Modern Software Methodologies and High Performance 
Computing will Change the Face of Simulation

The convergence of a number of significant trends is leading to a tipping point in the economic use of simulation across a wide range of complex domains. These trends include:
  1. advances in programming technology, especially structured programming, object oriented programming and evolutionary computing (in effect, the “growing” of algorithms);
  2. cost effective massively parallel supercomputer architectures enabling the most complex models to become visually meaningful on a range of thin client display devices and
  3. the integration of previously independent modeling formalisms such as discrete event modeling, system dynamics, agent based modeling, dynamic systems and artificial life, resulting in far more realistic hybrid simulation models.
The integration of large geospatial models and real-time data feeds running on advanced parallel computer architectures will allow previously impossible combinations of real life with virtual world models speeding training, scenario planning and providing organizations with the improved foresight necessary to lead decision makers to their desired future rather than to unintended consequences and their feared future.

The advanced visualization tools will enable the most complex systems and sets of algorithms to be presented cost effectively to large groups of researchers or decision makers in a way that will improve understanding, lead to better team learning and break free of the difficulties of grasping holistic system effects by looking only at pages of numbers and simple graphs. The simulation of the near future will be more like an immersive video game – a comfortable environment for the current generation of engineers and managers – than a long night in the research section of the library.

These new simulacrums will provide for analysis across time: running models from past data to future possible scenarios; across space: using advanced mapping and stochastic image technologies into which a powerful set of metadata can be embedded; and will take advantage of evolutionary computing technologies (artificial life) to quickly and automatically evaluate the most promising combinations and dramatically improve pattern recognition capabilities. They will utilize dynamic 3-D graphics and virtual world effects to enhance understanding and enable wisdom to emerge from knowledge gained through the intelligent analysis of mountains of data.

Wednesday, August 23, 2006

Notes on AnyLogic 5.5

General Notes
  • AnyLogic is an interactive modelling environment for building simulation models and allows a mixture of discrete event, sd and agent based (using UML state diagrams) models
  • It generates Java code that can be run in the environment or published as an applet and run in HTML
  • It is object-oriented, allowing the use/creation of a hierarchy of objects. It is also possible to embed objects inside other objects
  • Objects have some default behaviour that is inherited from their base classes. More advanced behaviour has to be coded using Java
  • Objects can have Parameters (set values that can be changed by users), Variables which can be changed dynamically and Ports which allow communication between objects
Notes re: System Dynamics Modeling
  • SD models make use of Variables and Parameters. Variables can be defined as stocks or as formulas
  • A formula contains a calculation
  • A Stock will have a differential equation (you fill in the + ‘rate’ or – ‘rate’) where ‘rate’ is the name of a formula. You can have multiple rates associated with a stock. It will also have an initial value that can be a constant, a Parameter, or a variable (evaluated at time 0)
  • In equations, t is used to get time. Simulation time is not calendar based
  • Parameters are not shown on the diagram, but are instead listed as properties of the encapsulating object (usually a Simulation object). This is similar to viewing properties of an object in an Excel or Access control
  • Connections are drawn between variables only when the equation is written that refers to the variable. You cannot add connections first, so it works the opposite way to most modern SD packages
  • You cannot move connections in any way, e.g. to avoid crossing lines
  • All variable and property names are case sensitive
  • The equation writer has a lookup capability that will create a list of all other variables, properties, built-in functions, and custom functions (you can write your own function in the form of equations or graphical relationships)
  • If you change the name of a variable, this does not automatically update any equations that use the variable. The link will be lost until the names in the equations have been manually updated
  • No units can be specified in equations and therefore there is not automatic unit checking
  • There is no obvious way of printing or copying the diagram
  • Animation can be associated with the model (this is displayed as a separate screen) where graphs, dials etc. can be shown, and parameters can be set. Lines would have to be added to show the structure of the model (bendy lines are not available, straight or poly-lines)
Notes regarding Discrete Event Simulations
  • DES models are built in two parts: the logic diagram and the animation
  • The Enterprise Library contains 44 pre-built objects that can be placed to form a logic diagram. These can be joined together to show the flow of entities and given properties to manage their behaviour. The logic diagram has a degree of animation itself
  • A description is shown for the object when you click on it in the Enterprise Library. This gives its parameters and an explanation of what the object does
  • The animation is created by drawing in shapes. Shapes are then associated with objects in the logic diagram by identifying them in the animation properties (can be selected from a dropdown list)
  • For example, queues are drawn as lines (can be poly-lines) and then selected as the animation for the queue object. Entities in the queue are form along the line, using spacing based on the capacity of the queue. A queue of infinite size does not look very good in the animation
  • Transit between objects is not shown in the animation. If transit is to be shown a network object must be added into the logic diagram
  • The states of resources (busy, idle, broken down etc) can be shown using images. Multiple images are selected for an image object. Code must be written to associate a resource state with an index for the image
  • When writing code, there is no code completion so it is necessary to have reference manuals available for the built-in functions and the java functions
  • You can create a new object (class) that is based on a combination of existing objects working together. For example, you could create a machine with its own buffer by adding a queue and a delay. The class can have properties added to it. This is then used as a single object on the main logic diagram
  • It also possible to create animation for a class. This animation will automatically be placed on a model animation when an object of the class is placed on the logic diagram
  • Network objects allow movement around an area via the shortest route on a network. Network resources can be set up that are required to move (or accompany) entities. Network models can be set up fairly quickly
  • 1 to Many connections or Many to 1 connections can be created but default to Random and Round Robin (respectively). A 1 to 2 link can also be set up easily, with user specified criteria. More complicated arrangements require coding.
  • Conclusion – a bit more flexible than Simul8 in terms of visuals and some logic. Network modelling is easier to set up than in Simul8

Monday, August 07, 2006

NetLogo vs. AnyLogic

Both tools are targeted as tools for Agent Based Modeling. Basically NetLogo is a tool for creating synchronous agents (do something in time steps) living in a grid.

Overall, there are more limitations than advantages with NetLogo in comparison to AnyLogic.

NetLogo is Java based, that is, the development environment is Java and models can be generated as an applet. Yet, the first limitation is NetLogo’s internal language, which you have to use while developing agent-based models. Although NetLogo is written in Java the modeling language is based on Logo and is procedure oriented. This is totally different from today's object oriented paradigm. AnyLogic’s internal language is Java.

NetLogo agents live in a grid. It works well on simple models, but it is a limitation for GIS and layout based detailed models. AnyLogic allows for maintaining discrete or continuous space.

In NetLogo, time is discrete. Agents can do actions only on time ticks (also known as synchronous agents). There are no events between ticks. In AnyLogic there are no time steps - agents are able to schedule events themselves at any moments of time.

I can say there is an advantage in comparison with AnyLogic – an easier learning curve. This is mainly due to the limitations of NetLogo - less features means less learning time.

Sunday, August 06, 2006

Creative Learning Exchange

So, you've stumbled across the Simulation Science blog and you want to start learning how to build computer simulations for your business? A good place to start is the Creative Learning Exchange. Start by trying to do the work that's designed for K-12 students and climb the learning curve!

Video Games - Are they good for you?

As someone who builds computer simulations for corporations, I'm always interested in research of the impact of video games on humans. I often refer to our enterprise simulations as video games for chief executives. Chris Chatham wrote an interesting review of recent research on the impact of video games on our thinking. An interesting read!

Operations Everything

It stocks your grocery store, schedules your favorite team's games, and helps plan your vacation. A primer on the most influential academic discipline you've never heard of. By Virginia Postrel in The Boston Globe, June 27, 2004

Read the full article.