Semester-Length course on Health Modeling Using AnyLogic

Please note that most of this material is deprecated. We strongly advise the reader to examine instead the more refined, extensive and better-structured material associated with ongoing MIT course 15.879. This other course includes a systematic introduction to using AnyLogic for Agent-Based Modeling, including hands-on lectures, tutorials, in-class exercises; however, the bootcamp does not cover System Dynamics and Decision Analysis integration material included here. For basic Agent-Based Modeling material, we strongly advise that the reader refer to the material for the MIT course rather than that included below.

This page gives links to slides and video and audio recordings offered as part of a full-semester University of Saskatchewan course on health modeling using AnyLogic, held January-April 2011. This course placed the greatest emphasis on agent-based modeling, but also offered significant amounts of instruction related to System Dynamics and Discrete Event ("Network-Based") modeling. This class was designed to be suitable for those from health science background, and includes tutorials to cover essentials of programming & software engineering, including concepts, syntax, and semantics of Java for AnyLogic users.

The tables below give links to the slides & recordings from the class. I apologize for the limited audio & video quality for these recordings, but hope you will still find them of value. Please note that because different lectures concentrate on different types of modeling (Agent-Based [ABM], Discrete Event Modeling [DES], and System Dynamics [SD] modeling), we have indicated the type of modeling emphasized in each lecture and tutorial using the associated acronyms.


Lecture Title & Link to Slides Lecture Video Notes
Intro and Overview No recording
Why ABM & System Science Methods No recording Concentrates on ABM, but also relevant to SD
Emergence & AnyLogic Software Introduction No recording Concentrates on ABM
Overview of AnyLogic Interface and infrastructure and Modeling Process Recording AnyLogic general, concentrates on ABM
Overview of Modeling Process Recording ABM & SD
Introduction to the Anylogic Interface & Supporting Concepts Recording AnyLogic general
Causal Loop Diagrams Recording SD
Stock and Flows Recording SD
First Order Delays and Aging Chains Recording SD
Infectious Disease Models Recording SD
Infectious Disease Model Wrapup Recording SD
Discrete Intra-agent Dynamics Recording ABM
Events, Heterogeneity & Basics of Agent Movement in AnyLogic Recording ABM
Discrete Agent Movement in AnyLogic & Building a Network Model Part 1 Recording ABM
Discrete Inter-Agent Dynamics Via Messaging Audio Recording ABM
Network Spatially Embedded Agents Audio recording (joint with following lecture) ABM
Scale-Free Networks Audio recording (joint with previous lecture) ABM & SD
Scale-Free Networks 2 Recording (joint with following lecture) ABM & SD. Note that the comments on the interpretation of AnyLogic's "M" parameter are erroneous, and are corrected in later lectures.
Discrete Event Modeling 1 Recording (joint with previous lecture) DES
Discrete Event Modeling Recording DES
Outputting Data Recording AnyLogic general
Sensitivity Analyses Recording ABM & SD
Stochastic Processes in AnyLogic and Vensim Recording ABM
Modeling for Dynamic Decision Problems 1 Recording A brief primer on combining decision analysis (including decision trees) with simulation models. ABM, SD, DES
Calibration Recording ABM & SD
Calibration 2 Recording ABM & SD
Debugging in AnyLogic No recording AnyLogic
Tradeoffs between Aggregate and Individual-Based Modeling Recording ABM & SD
Intervention Selection & Model Tradeoffs Recording Concentrates on ABM, some SD


Lecture Title & Link to Slides Lecture Audio or Video Notes
Classes, Objects and References Recording ABM
Java Expressions with Statistics, Datasets, UI Widgets and Agent Parameters.avi Recording AnyLogic general, with concentration on ABM
Anylogic and Java Recording AnyLogic general, with concentration on ABM
Functions and Functional Abstraction No recording AnyLogic general, with concentration on ABM
Java Events, Types, and Enums Recording AnyLogic general, with concentration on ABM
Java Expressions and Statements Recording AnyLogic general, with concentration on ABM
Subscripting in Vensim Recording SD
Subscripting in Vensim 2 -- Introducing, Progressing between, Mapping and Creating Subranges of Subscripts Recording SD
Dimensional Reasoning and Dimensional Homogeneity Testing Recording SD, but some applicability to many types of modeling
Subtyping and Subclassing, A Brief Glimpse Recording AnyLogic general, with concentration on ABM

Material from other lectures and tutorials outside of the scope of this course can be accessed here. Additional coverage of much of the above material will also be found in the August 2011 Agent-Based Modeling Bootcamp for Health Researchers.

Reuse of Material

I have placed this information online in hopes that it will be of useful to a broader set of people. Users are welcome to distribute links to this page without restriction. I grant rights of non-commercial reuse (including reposting) of the material I have created for educational purposes, as long as it doesn't conflict with the rights of any other individuals.

If you are seeking to reuse this material, just drop me a brief email notification (osgood 'at' to let me know of your planned use, and I request the courtesy of a citation with the repost indicating the original source of materials. I am especially interested in staying in touch with other educators who adopt components of the class material above for use in their own courses. Among other benefits, sending along your address will allow me to notify you of significant updates, of supplemental artifacts (e.g. models) that may be of interest, and could allow for exchange of ideas and suggestions on improving the material.

Please be encouraged to write me if there are any topics on which you feel additional tutorials would be useful.