Skip to content

Travel Model Two Assignment System

Overview

The Travel Model Two (TM2) assignment system converts travel demand into traffic flows and transit ridership by simulating traveler route choice on transportation networks. The assignment system consists of two primary components: highway assignment and transit assignment, each using equilibrium-based algorithms to model realistic travel patterns.

System Architecture

graph TD
    START[Base Network] --> TOD[Create TOD Scenarios]
    TOD --> READY[Period-Specific Networks
EA, AM, MD, PM, EV] READY --> A[Travel Demand
From CT-RAMP] A --> B{Assignment Type} B -->|Auto Trips| C[Highway Assignment] B -->|Transit Trips| D[Transit Assignment] C --> E[Highway Network Loading] E --> F[Volume-Delay Functions] F --> G[Updated Travel Times] G -->|Feedback| C D --> H[Transit Network Loading] H --> I[Capacity Constraints] I --> J[Updated Transit Times] J -->|Feedback| D C --> K[Highway Skims] D --> L[Transit Skims] K --> M[Level-of-Service Feedback
to CT-RAMP] L --> M

Network Preparation

Base Network Requirements

Before running TM2PY assignment, you must have a base Emme network scenario with specific required attributes. The assignment system expects two separate networks:

Highway Network Requirements

Required Base Scenario Attributes:

The all-day base scenario (typically scenario ID 0) must have these link attributes already defined:

Attribute Type Description Required By Typical Source
@ft int Facility type (1-8, 99) create_tod_scenarios Network creation
@free_flow_speed float Free flow speed (mph) create_tod_scenarios, VDFs Network creation
@drive_link int Drive access flag (0/1) create_tod_scenarios Network creation
@walk_link int Walk access flag (0/1) create_tod_scenarios Network creation
@bus_only int Bus-only flag (0/1) create_tod_scenarios Network creation
@rail_link int Rail link flag (0/1) create_tod_scenarios Network creation
length float Link length (miles) All components EMME standard
modes set Available modes All components EMME standard
num_lanes float Number of lanes create_tod_scenarios Network creation

Attributes Created by create_tod_scenarios:

The create_tod_scenarios component will create these attributes (they should NOT be in your base network):

  • @area_type - Area type classification (0-5), calculated from MAZ density
  • @capclass - Capacity class, derived from @ft and @area_type
  • @free_flow_time - Free flow time, calculated from length and speed
  • @capacity - Link capacity, set by facility type and area type
  • @trantime - Transit travel time
  • Plus many assignment result attributes (@flow_, @cost_, etc.)

What You Need to Provide:

Your base network must come from a network creation process (e.g., OpenStreetMap, cube network conversion) that establishes: 1. Topology - Nodes and links with proper connectivity 2. Facility classification - @ft values matching TM2 standards (1=freeway, 2=expressway, 3=ramp, 4=arterial, 5=collector, 6=local, 7=connector, 8=managed lane, 99=special) 3. Operating characteristics - @free_flow_speed, num_lanes
4. Access restrictions - @drive_link, @walk_link, @bus_only, @rail_link

Transit Network Requirements

Required Base Scenario Attributes:

Transit networks should be created in their own Emme database, separate from highway. Required:

Component Required Elements Notes
Transit Lines Routes with stops Define all transit services
Modes Transit mode definitions Bus, rail, ferry, etc.
Segments Stop-to-stop links Connect transit lines to road network
Headways Service frequency Time between vehicles

The transit network references the highway network through shared links. The prepare_transit_network component copies auto travel times from highway assignment results to update transit segment times.

What create_tod_scenarios Does:

For transit, create_tod_scenarios copies the base transit network to time-period-specific scenarios and sets up attributes like @schedule_time, @trantime_seg, but does NOT calculate transit times - that happens in prepare_transit_network using highway assignment results.

Create Time-of-Day Scenarios

Component: create_tod_scenarios (runs first in iteration 0)

The create_tod_scenarios component creates time-of-day specific network scenarios in Emme from a single all-day base scenario. This component must run before any assignment can occur, as it establishes the fundamental network infrastructure for all time periods.

Time Periods

The model operates with five distinct time periods:

Period Name Description Typical Hours Scenario ID
EA Early AM Early morning off-peak 3:00 AM - 6:00 AM 1
AM AM Peak Morning peak period 6:00 AM - 10:00 AM 2
MD Midday Midday off-peak 10:00 AM - 3:00 PM 3
PM PM Peak Evening peak period 3:00 PM - 7:00 PM 4
EV Evening Evening/night off-peak 7:00 PM - 3:00 AM 5

Highway TOD Scenario Creation

Volume Delay Functions (VDFs): The component sets up congestion functions that relate traffic volume to travel time:

Freeway VDFs (fd1, fd2):

BPR Formula: time = free_flow_time × (1 + 0.20 × ((volume/capacity)/0.75)^6)
Plus reliability factors based on Level of Service thresholds

Arterial/Road VDFs (fd3-fd7, fd9-fd14, fd99):

Akcelik Formula: time = free_flow_time + 60 × (0.25 × (v/c - 1 + sqrt((v/c - 1)^2 + ja × v/c)))
Plus reliability factors

Fixed Time (fd8): No congestion effects

Link Attributes Created:

  • @area_type: Density-based area classification (0-5)
  • 0: Regional core (density ≥ 300)
  • 1: CBD (100 ≤ density < 300)
  • 2: Urban business (55 ≤ density < 100)
  • 3: Urban (30 ≤ density < 55)
  • 4: Suburban (6 ≤ density < 30)
  • 5: Rural (density < 6)
  • Density = (1 × population + 2.5 × employment) / acres within 1-mile buffer

  • @capclass: Capacity class = 10 × area_type + facility_type

  • @free_flow_speed: Speed from capclass lookup table (mph)
  • @free_flow_time: 60 × link_length / free_flow_speed (minutes)

Reliability Parameters: Congestion-based travel time reliability factors

Facility Type LOS Threshold Volume/Capacity Reliability Factor
Freeway LOS C 0.7 Moderate congestion 0.2429
Freeway LOS D 0.8 Heavy congestion 0.1705
Freeway LOS E 0.9 Near capacity -0.2278
Freeway LOS F-Low 1.0 At capacity -0.1983
Freeway LOS F-High 1.2 Over capacity 1.022
Arterial LOS C 0.7 Moderate congestion 0.1561
Arterial LOS F-Low 1.0 At capacity -0.449

Transit TOD Scenario Creation

Transit Modes: Configured from model settings with attributes: - In-vehicle perception factor (default: 1.0) - Initial boarding penalty (default: 10 min) - Transfer boarding penalty (default: 10 min) - Headway fraction for wait time (default: 0.5) - Transfer wait perception factor (default: 1.0)

Transit Link Times:

Fixed guideway (calculated from link length and mode speed):

Mode Speed Application
CRAIL 45 mph Commuter rail
HRAIL 40 mph Heavy rail (BART)
LRAIL 30 mph Light rail
FERRY 15 mph Ferry service

Bus on streets: time = 60 × length/speed + boarding_time

Transit Line Attributes: - @invehicle_factor: Mode-specific in-vehicle time perception - @iboard_penalty: Initial boarding time penalty - @xboard_penalty: Transfer boarding penalty - @orig_hdw: Original headway from schedule

Period Filtering: Transit lines only operate in their designated time periods. Lines with #time_period not matching the scenario period are removed.

Period-Specific Attribute Copying

The component automatically handles time-of-day specific attributes:

  1. Identifies TOD attributes: Finds all attributes ending with period names (e.g., @volume_EA, @volume_AM)
  2. Creates period scenarios: Copies base scenario for each time period
  3. Copies period values: Transfers period-specific values to non-suffixed attributes
  4. Removes other periods: Deletes attributes for other periods to save memory

Example: For AM period scenario: - @volume_EA, @volume_MD, @volume_PM, @volume_EV → deleted - @volume_AM → copied to @volume@volume_AM deleted

Coordinate Projection

Networks are projected to NAD83(HARN) California State Plane Zone 6 (feet) if not already in this coordinate system. This ensures consistent spatial calculations for area type classification.

Runtime

Typical execution time: 20-27 minutes (based on full regional model) - Highway scenarios: ~5-10 minutes - Transit scenarios: ~10-15 minutes
- Attribute processing: ~2-5 minutes

Highway Assignment

Highway Assignment Overview

The highway assignment component simulates vehicle route choice on the road network, accounting for congestion effects and traveler preferences for time, cost, and convenience.

Highway Assignment Features

Multi-Class Assignment: Supports different vehicle types with distinct characteristics:

Vehicle Class Description Network Access
Drive Alone (da) Single-occupant vehicles All facilities
Shared Ride 2 (sr2) Two-person carpools Includes HOV-2 lanes
Shared Ride 3+ (sr3) Three+ person carpools Includes HOV-3+ lanes
Very Small Trucks (vsm) Light commercial vehicles Most facilities
Small Trucks (sml) Small commercial vehicles Truck-restricted access
Medium Trucks (med) Medium commercial vehicles Truck-restricted access
Large Trucks (lrg) Heavy commercial vehicles Truck routes only

Equilibrium Algorithm: Uses Emme’s SOLA (Second Order Linear Approximation) algorithm for:

  • Traffic Assignment: Route choice based on generalized cost minimization
  • Convergence: Iterative process until stable flow patterns
  • Volume-Delay Functions: Dynamic link travel times based on traffic volumes

Network Representation

Geographic Coverage: 9-county San Francisco Bay Area Network Size: ~180,000 directional links, ~85,000 nodes (approximate - varies by model version) Temporal Resolution: Five time periods (AM peak, PM peak, midday, evening, early AM)

Link Attributes:

  • Capacity: Maximum vehicle throughput
  • Free-Flow Speed: Uncongested travel speed
  • Volume-Delay Function: Congestion relationship
  • Facility Type: Freeway, arterial, local, ramp
  • Toll Information: Bridge tolls, express lane tolls
  • Vehicle Restrictions: HOV requirements, truck restrictions

Generalized Cost

Highway assignment uses value of time to convert monetary costs to time-equivalent units:

Value of Time in Highway Assignment - Detailed documentation of VOT parameters and implementation

Volume Delay Functions - Mathematical specifications for link travel time calculations

Components:

  • Travel Time: Link-specific travel times (minutes)
  • Distance Cost: Operating cost × distance (cents/mile)
  • Toll Cost: Bridge tolls, express lane tolls (cents)
  • Value of Time Conversion: $18.93/hour (2010 dollars)

Transit Assignment

Transit Assignment Overview

The transit assignment component simulates passenger route choice on the public transportation network, including buses, rail, ferry, and multi-modal connections.

Transit Assignment Features

Capacity-Constrained Assignment:

  • Initial Assignment: Unconstrained shortest path assignment
  • Capacity Evaluation: Check vehicle capacity limits
  • Crowding Effects: Increased perceived travel time for overcrowded vehicles
  • Reassignment: Iterative process with capacity constraints

Multi-Modal Network:

Mode Type Examples Special Considerations
Bus AC Transit, Muni Bus, VTA Frequency-based headways
Rail BART, Caltrain, VTA Light Rail Schedule-based operations
Ferry Golden Gate, SF Bay Ferry Weather and capacity constraints
Cable Car San Francisco Cable Car Tourist vs. commuter usage

Access/Egress Modes

Walk Access: Direct walking to/from transit stops Drive Access: Park-and-ride facilities Kiss-and-Ride: Drop-off/pick-up access Bike Access: Bicycle access to transit (bike parking/bike-on-board)

Temporal Representation

Service Periods: Coordinated with highway time periods Headway-Based: Frequent services represented by average wait times Schedule-Based: Lower frequency services with specific departure times

Level-of-Service Feedback

Highway-Transit Integration

Competitive Modes: Highway congestion affects transit competitiveness Park-and-Ride: Highway access costs influence transit ridership Cordon Pricing: Area-based tolls affect mode choice

CT-RAMP Integration

Skim Generation: Assignment produces level-of-service matrices Accessibility Measures: Network performance influences activity location and mode choice Feedback Loops: Multi-iteration process between demand and assignment

Technical Implementation

Software Platform

Emme: Primary assignment platform

  • Highway: SOLA traffic assignment algorithm (confirmed in code)
  • Transit: Strategy-based transit assignment (uses OPTIMAL_STRATEGY)
  • Integration: Python API for TM2 coordination

TM2 Python Framework:

tm2py/components/
├── network/
   ├── highway/           # Highway assignment components
      ├── highway_assign.py
      ├── highway_maz.py  
      └── highway_emme_spec.py
   └── transit/           # Transit assignment components
       ├── transit_assign.py
       ├── transit_skims.py
       └── transit_capacity.py

Performance and Scalability

Computational Requirements (estimated based on typical model performance):

  • Highway Assignment: ~15-30 minutes per time period (varies by network size and convergence criteria)
  • Transit Assignment: ~10-20 minutes per time period (varies by service complexity and capacity constraints)
  • Total Runtime: 2-4 hours for complete assignment set (including all time periods and iterations)
  • Memory Usage: 8-16 GB RAM recommended (depends on network size and number of zones)
  • Parallel Processing: Multi-core CPU utilization (configurable via emme.num_processors)

Validation and Calibration

Highway Assignment Validation

Traffic Counts: Comparison with observed link volumes Travel Time Validation: GPS-based travel time comparisons Toll Facility Usage: Express lane and bridge crossing validation

Transit Assignment Validation

Ridership Counts: Operator-provided boardings data Load Profiles: Peak-direction, peak-period capacity utilization Transfer Patterns: Multi-operator journey validation

Configuration and Customization

Assignment Parameters

Convergence Criteria: Gap functions and iteration limits Volume-Delay Functions: Facility-specific congestion relationships
Value of Time: Mode and income-specific time valuations Capacity Constraints: Transit vehicle capacity and crowding effects

Scenario Analysis

Infrastructure Projects: New facilities and capacity improvements Service Changes: Transit service modifications Pricing Policies: Tolling and fare policy evaluation Land Use Scenarios: Development pattern impacts

Technical Documentation

Model Integration


Last Updated: November 2025
Model Version: Travel Model Two v2.2
Authors: MTC Staff & GitHub Copilot