U.S. Department of Transportation
Federal Highway Administration
1200 New Jersey Avenue, SE
Washington, DC 20590

Skip to content
Facebook iconYouTube iconTwitter iconFlickr iconLinkedInInstagram

Federal Highway Administration Research and Technology
Coordinating, Developing, and Delivering Highway Transportation Innovations

This report is an archived publication and may contain dated technical, contact, and link information
Back to Publication List        
Publication Number:  FHWA-HRT-13-054    Date:  November 2013
Publication Number: FHWA-HRT-13-054
Date: November 2013


The Exploratory Advanced Research Program

A Primer for Agent-Based Simulation and Modeling in Transportation Applications

CHAPTER 4: Agent-Based Transportation Modeling Platforms

Basic Structure of Agent-Based Transportation Platforms

There are several well-known agent-based transportation modeling platforms, including, but not limited to, Transportation Analysis and Simulation System (TRANSIMS),(83) Multi-Agent Transport Simulation Toolkit (MATSim),(84) Sacramento Activity-Based Travel Demand Simulation Model (SACSIM),(85) Simulator of Activities, Greenhouse Emissions, Networks, and Travel (SimAGENT),(86) Open Activity-Mobility Simulator (OpenAMOS),(87) and Integrated Land Use, Transportation, Environment (ILUTE).(88) (Some systems promote themselves as ABMS and some do not; the authors classify them, herein, in the same category because they exhibit similar structure in the same modeling paradigm.)

Most of these agent-based models are individual-based models. They have roots in the activity-based travel demand models and are commonly characterized by a similar feature. Naturally, they all exhibit similar architecture, more or less, which combines two transportation components-travel activities and network loading-into an integrated microsimulation platform. An agent in those models stands for a human/person/traveler in general.

It should be noted that these individual-based transportation systems also share some similarities with the simulation-based dynamic traffic assignment (DTA) approaches (e.g., Dynamic Network Assignment-Simulation Model for Advanced Roadway Telematics (Planning version; DYNASMART-P),(89,90) Dynamic Urban Systems for Transportation (DynusT),(91-93) and Dynameq(94,95)). The similarities are summarized as follows:

The dissimilarities between a simulation-based DTA approach and an agent-based transportation model are recognized as follows:

The existing agent-based transportation system in today's literature in general has the distinguishing feature of integration combining three components: travelers' activity decisions (multidimensional), travelers' route decisions, and microsimulation. Although the same decisions have been well-studied in two modeling paradigms, that is, activity-based travel demand models and DTA, the two differ in the types of feedback they utilize. In the case of an activity-based travel demand model, feedback is between travelers' activity decisions and traffic simulation. For simulation-based DTA, feedback is between travelers' route choice decision and traffic simulation. In this regard, an agent-based transportation system tries to have feedback among the three components together.

In summary, most existing agent-based transportation systems follow a structural design similar to that shown in figure 7:

Diagram depicting a typical agent-based transportation systems structural design. This diagram begins with a capsule-shaped field labeled Demographic population, Transportation infrastructure. Three arrows lead from this first field to three new rectangular fields (from top to bottom): (1) Population Generation; (2) Activity Plan; and, (3) Mode and Route Choice. An arrow points downward from the Population Generation field to Activity Plan; another arrow points down from Activity Plan to Mode and Route Choice. The next field to the right is labeled Simulation. An arrow points from the Mode and Route Choice field to the Simulation field; another arrow points left (back) from the Simulation field to the Activity Plan field. To the right of the Simulation field is the final capsule-shaped field labeled Network Performance; an arrow goes from the Simulation field to Network Performance.
Figure 7. Model structure of an agent-based simulation approach

What follows is a brief review of a selected number of agent-based transportation platforms, with a focus on model structure, inputs and outputs, and functionality. The description of review is based on scientific papers in the published literature in this document and does not suggest any level of development, maturity of application, or readiness to use, unless otherwise noted. The overall framework for all platforms exhibits a certain similarity, that is, microsimulation of the activities of agents (or individual human/person/traveler/driver-vehicle unit); however, the design process, functionalities, agent activities, data structures, and emphasized policy decisions may vary substantially.

TRANSIMS (TRansportation Analysis and SIMulation System)

TRANSIMS is an open-source, integrated transportation modeling and simulation toolbox for regional transportation system analyses. It is designed to assist transportation planners in analyzing accurate and complete information on traffic impacts, congestion, and pollution. It was originally developed by the Los Alamos National Laboratory for the U.S. Department of Transportation and has been continuously supported and improved. At present, the Travel Model Improvement Program sponsors the research and development of TRANSIMS.

TRANSIMS is designed based on microsimulation that adopts the activity-based approach to generate individual's activities instead of conventional trip-based origin-destination (O-D) matrices. It builds synthetic populations based on census and survey data, estimates activities for all individuals and households, plans multimodal trips satisfying those activities, selects routes for those trips, and runs a microsimulation of all vehicles (including transit) over the entire transportation system. The goal is to gain detailed traffic data in a given study area to support traffic, travel demand, and transportation policy analyses.

The fundamental concept of TRANSIMS is to simulate individual travelers. The overall model framework is structured as follows:(83)

In this modeling framework, because the processes are conducted independently and sequentially, consistency of the output attributes produced by each process needs to be secured. TRANSIMS relaxes partial inputs of each module and then utilizes feedback loops to achieve consistency between the modules, as shown in figure 8. Such feedback schemes, however, may not necessarily converge, and the effect for TRANSIMS may occur in particular where new attributes of modules are generated heuristically.(96)

Diagram depicting the feedback loop scheme used in TRANSIMS. At the top of the diagram is a field labeled Inputs of demographic population, Transportation infrastructure; an arrow from this field leads down to the next field labeled Population Synthesizer. Another arrow leads down to the next field labeled Activity Plan. Two arrows lead away from Activity Plan: one leads straight down to a field labeled Mode and Route Choice, the other goes to the left to a field labeled Feedback. An arrow also goes from the Feedback field back to Activity Plan. An arrow leads down from Mode and Route Choice to Micro-Simulation (User Equilibrium); arrows also go to and from Micro-Simulation and the Feedback field. An arrow below the Micro-Simulation field leads to a field labeled Stable and consistent?. If the answer to this question is No, an arrow goes back to the Feedback field; if the answer is Yes, then an arrow leads down to the final field labeled Results.
Figure 8. Model diagram in TRANSIMS

The route choice planner in TRANSIMS attempts to assign the time-dependent fastest route to individual travelers. It implements Dijkstra's time-dependent algorithm to solve the fastest route. This solution requires accurate time-dependent, link travel-time information, which is provided by the microsimulation in TRANSIMS. The produced traffic performance measures then feed back to the route planner, which revises travelers' route choice decisions, and thus loops in an iterative feedback framework between routing and simulation. The difficulty of this approach is that, because no congestion information is available, the system cannot initially predict the fastest route. This problem is addressed via an iterative relaxation approach, that is, one generates an initial set of routes, runs it through the microsimulation, re-plans a fraction fr of the trips, runs the microsimulation again, and so on, until a certain convergence criterion is verified. Choosing a fr too large can result in oscillations that never converge; choosing a fr too small can cause limited improvement in each iteration, which leads to slow convergence.(97)

The traffic simulation component in TRANSIMS is microscopic, consisting of car-following and lane-changing models. The car-following model in TRANSIMS is based on cellular automata, that is, a road is composed of cells, and each cell can either be empty or occupied by exactly one vehicle.(98) The length of the cell is defined by the jam density. Because movement has to be from one cell to another in one direction, velocities have to be integer numbers between zero and maximal velocity. The interval (i.e., time step) of simulation is 1s. During each time step, the velocity of each vehicle is updated by predefined rules based on the gap. The vehicle position is then updated in accordance with the updated vehicle velocity. The lane-changing models in TRANSIMS are rule-based.

Because TRANSIMS utilizes the detailed microsimulation to simulate vehicle movements, it is able to produce traffic flow dynamic characteristics that are consistent with the macroscopic traffic flow properties. The cost is high demand of computation. Although TRANSIMS has simplified microscopic rules, the running time is still expensive because of the detailed level of vehicle movement for each individual vehicle. Compared with MATSim, TRANSIMS comes with a significantly prolonged run time, particularly for large-scale scenarios. The issue is due to the difference in philosophy of the system architecture design-TRANSIMS seeks to model traffic flow dynamic characteristics more than to conserve computational time, but MATSim does the reverse.

MATSIM (MultiAgent Transport Simulation)

MATSim is a microsimulation platform implemented as a Java application. It also adopts the activity-based approach to generate and simulate individuals' activities. Agent stands for the individual travelers, and agent behavior refers to an individual's daily activity travel plan and route choice.

MATSim designs two layers: the physical layer, which simulates the physical world where the agent (or traveler) moves, and the mental layer, in which the agents generate strategies, including routes, mode choice, and daily activity plans.(99) It is clear that the mental layer refers to model logics that create an agent's daily activity decisions, and the physical layer is a microsimulator. Outcomes of the two layers feedback to each other in an iterative manner, producing the traffic simulated on the roadway network at a microscopic level. The overall system architecture of MATSim is similar to TRANSIMS, except that the details of implementation vary.

The mental layer is the conventional activity model counterpart, which generates the agents' activity-travel patterns, composed of two components: activity agenda and mode or route choice. The activity generation module creates a 24-hour activity agenda plan for each agent. The quality of an activity plan is measured by a score, quantitatively measured by the sum of the utilities of all performed activities, as well as the travel disutilities for trips connecting one activity location to another.(100)

The physical layer is the microsimulation. MATSim does not adopt car-following and lane-changing as detailed as in TRANSIMS. Instead, it utilizes a spatial queue model to measure traffic dynamics and queue spillovers in the traffic simulation.(101) The purpose of this design is (a) to capture the queue spillovers (rather than point-queue model) at a fine-resolution level by simulating each individual traveler and (b) to make the simulation as simple as possible by modest computation. In the spatial-queue simulation, roadways are essentially represented as first-in-first-out queues, with the additional restrictions that (a) vehicles have to remain for a certain time on the link, corresponding to the free-flow travel time and (b) links possess storage capacity, and once saturated, no more vehicles can enter the link. To speed up the computation, MATSim utilizes parallel computation of the spatial queue model in microsimulation. Because the queue model needs less data and computing resources, it runs much faster than does TRANSIMS.

A noticeable shortcoming of the spatial-queue model is that the traffic dynamics may not be realistic, and the speed of the backward wave may not be modeled correctly. A vehicle that leaves the head of a link immediately opens a new space at the tail of the link into which a vehicle can enter, indicating that the backward wave speed is roughly the length of the link per time step. This effect is especially significant during congestion, not only losing appropriate flow dynamics propagated along the space and time dimensions but possibly resulting in an overestimation of travel time. This is the tradeoff elected by the MATSim system architecture design, favoring fast running time but at the cost of simplifying the traffic flow model.

MATSim runs its activity plan, microsimulation, activity re-plan, microsimulation, and so on, iteratively. The goal of the iterative loop is to find the stationary state of the system, where an agent cannot improve its score by revising the plan. The overall simulation system consists of the following steps:

The external strategy module that performs the activity re-plan is called planomat.(102) Planomat applies a genetic algorithm (GA) to revise activity plans in a multidimensional domain, including location choice, mode choice, and the choice of the activity pattern. The major drawbacks of the GA are (a) the solution quality is unknown; and (b) it requires an expensive run-time to obtain a fine solution. After the activity re-plan is executed by planomat, the mode and route choice module then connects a set of activities located at different places by specifying the trip characterized by the choice of the mode of transportation and specific routes. Finally, MATSim is designed to run millions of agents in a metropolitan area. In this regard, MATSim is computationally fast.

OpenAMOS (Open Activity-Mobility Simulator)

OpenAMOS has its roots in Activity-Mobility Simulator and PCATS (Prism-Constrained Activity Travel Simulator). Today, OpenAMOS is the open source, activity-based, travel-demand model within SimTRAVEL, which is an integrated urban continuum framework. SimTRAVEL integrates the following four components: PopGen (a population generator), UrbanSim (used as the urban simulation system), OpenAMOS (for activity-travel demand), and Multiresolution and Loading of Transportation Activities (MALTA; used for dynamic traffic assignment).

PopGen is primarily a population synthesizer (PopSyn). By using zonal socioeconomic data and household travel survey data, PopGen generates a synthetic population, matching it with the census attribute distribution at both the household level and person level. This step generates a basic skeleton around which the complete activity-travel agenda of a person will be formed.

In the next step, OpenAMOS uses microsimulation to generate daily activity travel patterns for the individual travelers synthesized by PopGen. The simulator assumes a sequential history and time-of-day dependent structure. Implementation of microsimulation approaches usually entails the generation of synthetic households and their associated activity-travel patterns to achieve forecasts with desired levels of accuracy.

The sequential approach segments the entire daily activity-travel pattern into various components, as follows:(103)

Each component can be estimated as a multinomial logit model. Multinomial logit models of activity type choice are estimated by the standard maximum-likelihood method. These steps finalize the blocked attributes (e.g., start time, end time, type, and location of each fixed activity) of an individual's activity-travel pattern. The open attributes of an individual's activity-travel pattern are estimated by a microsimulator, called PCATS.(87) PCATS recognizes that the speed of travel is finite and the time available for travel is limited; thus, the individual's trajectory in time and space is necessarily confined within Hagerstrand's prism.(104)

In recent years, OpenAMOS was integrated with a DTA simulation platform, called MALTA. In this framework, MALTA serves as a dynamic network loading engine: It takes as input the auto trips produced by OpenAMOS and replicates the dynamics in network traffic flow along the temporal dimension. To a certain degree similar to TRANSIMS and MATSim, the network performance produced by MALTA feeds back into OpenAMOS, and many decisions in OpenAMOS-which are in part based on the travel time information (e.g., travel mode choice, destination choice, etc.)-are revised in OpenAMOS and PCATS in the next iteration. Therefore, in the integrated framework, network performance simulated by MALTA not only feeds back into the traveler's route choice decision, but also feeds back into the traveler's activity-travel pattern decisions. This feature is the linchpin of most existing individual-based agent models characterized by integration of travel activities and traffic simulation.

SACSIM (Sacramento Activity-Based Travel Demand Simulation Model)

SACSIM is a regional travel forecasting model used by the Sacramento Area Council of Governments. Within SACSIM, an integrated activity-based, disaggregate econometric model, the Person Day Activity and Travel Simulator (DaySim), simulates each individual's full-day activity and travel schedule.(85,105)

In SACSIM, a representative PopGen (i.e., DaySim's PopSyn component) creates a synthetic population comprised of households drawn from the region's U.S. Census Public Use Microdata Sample and allocated to parcels. In SACSIM, two decision choices are modeled separately. Long-term choices (e.g., work location, school location, and auto ownership) are simulated for all members of the population. DaySim then creates a 1-day activity and travel schedule for each person in the population, including a list of their tours and trips on each tour. DaySim consists of a hierarchy of multinomial logit and nested logit models.

SACSIM is integrated with the traffic assignment in an analytical framework. DaySim uses network performance measurements to model a person's activity and travel patterns, which are then loaded to the network to determine congestion and network performance for the next iteration. The model achieves equilibrium when the network performance used as input to DaySim matches the network performance resulting from assignment of the resulting trips.

The SACSIM equilibrium procedure is solved analytically by a Frank-Wolfe-like algorithm, which contains two loops. The inner loop is designed to achieve equilibrium of the traffic assignment and runs assignment for four time periods. Each period employs multiclass equilibrium assignment, with classes composed of a single-occupant vehicle (SOV), a high-occupancy vehicle (HOV) not using median HOV lanes, and HOVs using median HOV lanes, solved by a Frank-Wolfe similar convex combination method. The outer loop generates demand O-D flow matrices. In the ith outer loop, DaySim is run on a subset of the synthetic population, consisting of the fraction 1/si (i.e., 100/si percent) of the households; the subset is selected by proceeding uniformly every si households. When the ith outer loop reaches equilibrium (i.e., the inner loops reach convergence), link volume is combined in a convex combination with the prior outer loop link volume. This is the preloading method intended to prevent link volume oscillation between outer loops. In each outer loop, a fraction of 1/si population is synthetic until, after si iterations of outer loop, all households are synthetic.

ILUTE (Integrated Land Use, Transportation, Environment)

ILUTE is a comprehensive urban transportation system maintained and promoted by a consortium of Canadian universities. The objective is to develop models to capture interactions between urban land use, travel demand, the transportation system, and environmental impacts, and to address high-resolution policy analysis in a variety of transportation and urban planning contexts. ILUTE inherently is an integrated land use (urban) transportation system. Land use and transportation are fundamentally linked: The land use pattern directly determines travel needs, activity agenda type and participation, and viability of alternative travel modes. Transportation, in turn, influences land development and location choices of residents and firms. ILUTE is designed to capture interactions and policy effects between land development and transportation.

ILUTE is a disaggregated, behavioral approach to study the urban transportation system by simulating activities of individual objects (agents) as those activities evolve. In ILUTE, the agents could be various entities, including persons, families, households, houses, buildings, firms, or road and transit networks. ILUTE simulates system evolution in the long run, usually on a month-to-month or year-to-year basis. This is accomplished by simulating one typical day of the system as a means to capture the state of that simulated month or year.

Microsimulation simulates the behavior and state of agents (objects) in the system. Simulating individual objects means knowing when new objects are generated in the system and when they leave. For persons, it simulates the processes of birth and death as well as the process of in-migration and out-migration. For firms, it simulates firms opening, relocating, and closing. For households, it simulates member change, property change (auto ownership), and relocation. This structure exhibits a certain similarity to the Sugarscape model in the social science domain. ILUTE aims to simulate the emergent land-use transportation interactions in the long term.

To model long-term system evolution, ILUTE extends classic market theory to the microsimulation framework to study market-based decisionmaking and interactions between various suppliers and consumers in a variety of markets. The markets studied by ILUTE include the residential housing market, marriage market, commercial real estate market, land market, labor market, vehicle market, and travel market.

The design of ILUTE embodies the following fundamental principles:

Salvini and Miller(88) introduced an early structure of ILUTE as follows:

The 'behavior core' of the model has four inter-related components: land use, location choice, auto ownership, and activity travel. ILUTE enables researchers to capture the complex interactions that occur within an urban system. The transportation system, for example, is one of many interconnected factors affecting the quality of 'life' within the simulated system.

As an integrated full-feedback model, ILUTE allows higher-level decisions (e.g., residential mobility) to influence lower-level decisions (e.g., daily travel behavior) and vice versa.

In the ILUTE system, travel activities are quantified as short-term measurements. These reciprocally feedback to an individual's or agent's high-level behavior and long-term decisions in categories such as residential mobility, location choice, market clearing, and economic decisions.

The housing market module models the high-level decision of residential mobility, which consists of three steps: mobility decision, a search process, and a bid. Mobility desires are generally triggered by a stress manager, but may also be triggered on a random basis. Once the desire to enter the housing market has been triggered, it is the role of the housing market module to accomplish the search and bidding process. In the ILUTE structure, a multinomial logit model was applied to make location choice decisions, and a two-level constrained and directed search process was applied to find the final bid price.(106)

The auto transaction module is a properly estimated empirical model that uses a nested logit equation with calibrated real-world parameters.(107,108) The module uses attributes of the households, owners, drivers, and their current vehicle bundle, and also uses the attributes of each vehicle to determine whether the household will maintain its existing auto ownership level or will purchase, dispose of, or trade a vehicle.(109)

In the latest version, ILUTE contains an activity-based travel demand component, called Travel Activity Scheduler for Household Agents (TASHA), to generate the household and person activity-travel patterns and to perform scheduling. It uses a set of activity episode frequencies and a probability density function to generate activity participation agenda (e.g., work, school, shopping, other, and free time) and then searches a feasible start time and duration time by joint probability density functions. In such a manner, activities occur in space and time and have various scheduling dependencies. ILUTE then applies a tour-based method to generate a set of activity chains (with specific modes) for each individual. The tour-based model explicitly accounts for the car-conflicting constraints. A clean-up algorithm is applied to reflect final scheduling and fine-tuning just before or during execution of the schedule.(110) TASHA is designed so that it interfaces readily with a variety of network assignment models. As reported in Miller et al.,(111) it can be used with either Equilibre Multimodal, Multimodal Equilibrium (EMME) for road and transit assignments, or MATSim for road assignments.(112)

SimAGENT (Simulator of Activities, Greenhouse Emissions, Networks, and Travel)

SimAGENT is a system that features PopGen + CEMSELTS + CEMDAP + traffic assignment. In this structure, PopGen generates a synthetic population of individuals and households. The Comprehensive Econometric Microsimulator for Socioeconomics, Land Use, and Transportation System (CEMSELTS) simulates and generates long-term demographic attributes for persons and households. The Comprehensive Econometric Microsimulator for Daily Activity travel Patterns (CEMDAP) generates the daily activity travel plan for each individual, and the traffic assignment component determines a traveler's route choice decision and measures the overall network performance. In recent years, the SimAGENT model system has been applied to the Southern California region by the Southern California Association of Governments.

PopGen is used to generate a synthetic population of individuals and households such that the distributions of socioeconomic and demographic attributes in the synthesized population match the known population distributions. In SimAGENT, a synthetic population is generated based on a set of control variables whose known (census) distributions drive the population synthesis process.(113)

The generated synthetic population serves as the input into the module of CEMSELTS. CEMSELTS is a microsimulation capable of modeling medium- and long-term socioeconomic choices of individuals and households. All of the variables that can be simulated by CEMSELTS are stripped away from the synthetic population generated by PopGen and replaced with simulated values from CEMSELTS. This step is to provide a rich set of socioeconomic inputs for activity-based modeling and create a system where long- and medium-term attributes (e.g., worker and student, work and school location, work duration, residential location, and auto ownership) are sensitive to household and person demographic characteristics.(113) In the current design, sets of rule-based probability models and logit models are used within CEMSELTS to determine the medium- to long-term demographic attributes for each person and household.

With well-defined demographic attributes of households and persons, daily activity-travel patterns are generated by CEMDAP. CEMDAP is a micro-simulation engine that simulates activity-travel patterns of all individuals in the region for a 24-hour period along a continuous time axis. CEMDAP generates an activity-travel plan for each individual in two steps: (1) generate mandatory activity and schedule (e.g., work and school activity participation and timing) and (2) generate the full daily activity agenda and schedule.(86)

The output of CEMDAP generates a set of time-dependent trip interchange matrices of O-D among the traffic analysis zones, which feed into the traffic assignment component to determine routes and the overall network performance. At the current stage, different traffic simulation models are under investigation to be used in integration with the SimAGENT, including TRANSIMS and MATSim.(86)


Federal Highway Administration | 1200 New Jersey Avenue, SE | Washington, DC 20590 | 202-366-4000
Turner-Fairbank Highway Research Center | 6300 Georgetown Pike | McLean, VA | 22101