Model Background
The NIH headquarters, referred to as the NIH main campus, is located in Bethesda, MD. The NIH main campus is home to more than 75 buildings on over 300 acres. Shuttle services assist employees, patients, contractors, and visitors in navigating within the campus. The shuttle service also provides additional routes between the main campus and off-campus satellite facilities in Montgomery County, MD. As with many organizations, the NIH campus quickly shifted to a remote work model in spring of 2020 when the COVID-19 pandemic started to impact the United States. This resulted in a reduced need for shuttle bus services. As NIH begin to formulate plans to bring employees back to campus in a safe way, the Office of Research Services (ORS), which provides support services to enable the research mission of the NIH, realized the demand for shuttle services may look very different in a post-COVID or transitioning to a post- COVID environment. The ORS and MOSIMTEC built a discrete event simulation model in SIMIO in order to understand the impact of various shuttle bus system design strategies for a wide variety of demand patterns. This presentation focuses on two key technical components of this model:Greer, Legard, and Wolski 1. An array structure populated on model initialization that streamlined the remainder of model code. 2. The value of building a model from lower level constructs, compared to pre-built modules that included a lot of out of the box functionality.
The Importance of Data Structures
In this model, shuttle buses on a given loop should be equally offset. For example, if a loop took approximately 60 minutes to complete, and there were 2 buses, users would want to see a bus approximately every 30 minutes. The modeled system has time checks, so buses can dwell at a stop until scheduled departure times. NIH needed to understand when a specific route may go from 1 bus to 2 buses to meet demand during peak periods. However, if the simulation analyst had to re-build a custom schedule for each change in bus quantity or shift change, the time required to run analysis would be impractical
The model initialization code takes a building block list of stops. By using the start / stop times of buses in the system, a bus schedule was dynamically built at model initialization. This allows the analyst to test various bus strategies without manually creating a full bus schedule
The day’s full bus schedule was stored in a simple array. With this data structure in place, the logic for buses to execute their routes became very simple. Eric Raymond (2001) stated, “Smart data structures and dumb code works a lot better than the other way around.” The project team spent considerable time planning the bus schedule array. However, once the array was in place, the development of the rest of the model occurred very quickly with few issues arising during development and testing.
The Benefits of Modeling from Scratch
The example model presented with this abstract was developed in SIMIO. While a high level introduction to SIMIO may lead a modeler to think they should just use the pre-built vehicle, with settings configured as needed; the attendee will see that a model built from the scratch with process logic is very easy to follow. There are several benefits of building models with lower level components:
- Faster model development time
- Easier debugging
- Faster run speeds
- More flexibility in future model changes
- Better opportunity to create self-documenting code
The presentation will discuss these benefits in more detail, sharing specific examples from the model. The additional cost of modeling from scratch compared to using pre-built constructs is generally the time associated with learning to model in such a way. Once a tool’s fundamental paradigm is known, along with the most critical requirements, there is rarely an increased time on a project-to-project basis related to building objects from scratch. The presentation will touch on the time required to develop these fundamental modeling skills and when it is still recommended by the authors to use pre-built constructs.