Skip to content

Introduction to SimMobility

Carlos Lima Azevedo edited this page Apr 23, 2019 · 13 revisions

FRAMEWORK

SimMobility is being designed to be:
- activity-based;
- multi-modal;
- multi-scale;
- fully modular;
- and consistent across levels.
Below we further explain each of these concepts.

Activity-based

To simulate uncertain future it is essential to estimate travel demand correctly in response to the various changes in the supply of the urban system or changes in the urban policy. In future there can be new infrastructure (e.g. integrated transport hub) or new mode of transportation (e.g. autonomous vehicle) or new policies (e.g. satellite based road pricing) available, which doesn’t exist today. Activity based modeling helps us to understand individual’s travel pattern during the day in response to these new changes.

In SimMobility, representation of individuals as agents in the model is necessary for simulating how people will react in the uncertain future. The decision process of the agents is modeled by an activity-based approach. Activity-based modeling improves on single-trip modeling by combining multiple trips and activities into the schedule that drives the demand for transportation networks.

Multi-modal

One of the promising approaches to current mobility problems such as congestion, high accessibility demand at certain places, environmental impacts and energy consumption is considering the transport system from a multi-modal viewpoint. To support multi-modality SimMobility explicitly simulates private traffic, public transit, pedestrian traffic as well as freight transportation(Open source version doesn't include the freight simulation), and allows agents to switch between these modes over the course of a given day. SimMobility is also designed in such a way that it can simulate new mode of transportations which doesn’t exist today such as autonomous vehicle, flexible mobility on demand, electric vehicle etc. In SimMobility various behavioral models are developed to represent individual’s choice to avail different mode. In today’s time individuals receives various information about the network through various sources like variable message sign, mobile communication or even through social network sites. A policy based adaptive route choice model is also developed to represent individual’s route & mode switching based on the information available about the network and how they react to it.

Multi-scale

Framework image
Figure 1


The high-level design of SimMobility is shown in Figure 1.

SimMobility comprises three primary modules differentiated by the timeframe in which we consider the behaviour of an urban system.

The "short-term" model functions at the operational level; it simulates movement of agents at a microscopic granularity (within day). It synthesizes driving and travel behavior in detail and also interacts with a communication simulator that models the impact of device to device communication on these behaviours.

The "mid-term" (day-to-day) simulator handles transportation demand for passengers and goods; it simulates agents’ behavior which includes their activity and travel patterns. The mid term represents moving vehicles in aggregate, and routes are generated by behavior-based demand models.

The "long-term" (year-to-year) model captures land use and economic activity, with special emphasis on accessibility. It predicts the evolution of land use and property development and use, determines the associated life cycle decisions of agents, and accounts for interactions among individuals and firms.

Fully modular

Although we have been presenting our project as simultaneously having the three levels, of short-term, mid-term, and long-term, it would not be practical or even necessary to tightly couple them all the time. In fact, we apply the opposite concept: each level should be able to work independently and only needs to access others when necessary (e.g. if an update on accessibilities is needed for the long term for specific area or time frame, it calls the mid-term).

Consistent across all levels

The key to multi-scale integration in SimMobility is a single database model that is shared across all levels. Every agent exists and is recognized at all levels simultaneously, and information is used according to each level’s needs (e.g. the long-term model doesn’t need to know reaction times from the short-term model). In this way, the behaviours will remain consistent and, even if run separately, the impacts from one level’s model will be propagated to the others gracefully.

Parallel architecture

SimMobility is entirely developed in C++ for Linux environment, using boost threads library, for parallelization. It is able to do runtime load balancing by taking advantage of individual agent’s context (e.g. neighbor agents can be grouped together; agent of similar type can be grouped together). SimMobility takes advantage of state-of-the-art computational efficiency tools to increase scalability.

< PREVIOUS PAGE (Outline)         NEXT PAGE (Installation)>

Clone this wiki locally