Routes and Trip Segments ======================== In MetroSim, when an agent is traveling from an origin to a destination (optionally, with intermediate stops), he / she chooses between multiple routes to perform his / her trip. A route describes the modes of transportation taken to travel from an origin to a destination. Hence, in MetroSim, route choice is similar to mode choice. More formally, a route is a combination of multiple trip segments, where each trip segment represents only one mode of transportation, allowing for inter-modal trips. Routes can range from very simple (e.g., travel by car from O to D) to very complex (e.g., travel by car from O to I\ :sub:`1`, then take metro line 1 from I\ :sub:`1` to I\ :sub:`2`, then walk from I\ :sub:`2` to I\ :sub:`3`, then take bus line 5 from I\ :sub:`3` to D). The figure below represents an example of route, with 2 segments. The second segment is a public-transit segment containing 3 legs. .. math:: \overbrace{ \mathbf{O} \overbrace{\longrightarrow \text{Car} \longrightarrow}^{\text{segment 1}} \mathbf{I_1} \overbrace{ \underbrace{\longrightarrow \text{Metro (line 1)} \longrightarrow}_{\text{leg 1}} \mathbf{I_2} \underbrace{\longrightarrow \text{Walk} \longrightarrow}_{\text{leg 2}} \mathbf{I_3} \underbrace{\longrightarrow \text{Bus (line 5)} \longrightarrow}_{\text{leg 3}} }^{\text{segment 2}} \mathbf{D} }^{\text{route}} Trip Segments ------------- MetroSim has three different types of trip segments. Car segment It represents a trip by car from a source node to a target node. A car segment is only defined by its source and its target, i.e., there is no intermediate stop and the exact path taken is not determined a priori. Public-transit segment It represents a public-transit trip from an access stop to an egress stop. A public-transit segment is defined by its access stop and its egress stop but also by the sequence of legs taken between the two stops, i.e., there can exist multiple public-transit segments between any two stops. A public-transit segment can include walking legs to transfer from one line to another but it always starts and ends with a public-transit leg. An example of public-transit segment is: take bus line 1 from stop A to stop B, then walk from stop B to stop C, then take metro line 3 from stop C to stop D. Walking segment It represents a walking trip from a source node to a target node. Trip segments can be classified in three categories, according to the characteristics of the travel utility they imply. "Constant" trip segment Travel utility is time-invariant (e.g., walking segment). "Continuous" trip segment Travel utility is continuously time-dependent (e.g., car segment). "Discrete" trip segment Travel utility is discontinuously time-dependent (e.g., public-transit segment). Route Type ---------- The route type depends on the type of its segments, according to the following rules: - If at least one segment is discrete, then the route is *discrete*. - If at least one segment is continuous but no segment is discrete, then the route is *continuous*. - If all segments are constant, then the route is *constant*. The route type is relevant when computing the expected utility of a route. For discrete routes, the utility of all possible departure times is computed (at least partially). For continuous routes, the utility is computed for a finite set of departure times. For constant routes, the utility is computed only once. See :doc:`/architecture/simulator/pre-day_model` for additional details.