-
Notifications
You must be signed in to change notification settings - Fork 99
Joint Travel Design
Ben Stabler edited this page Feb 12, 2018
·
27 revisions
In the current example model, joint travel for non-mandatory activities is modeled explicitly in the form of fully joint tours (where all members of the travel party travel together from the very beginning to the end and participate in the same activities along the way). This accounts for more than 50% of joint travel. Other types of joint travel like carpooling of workers and escorting children are not explicitly considered currently, though they are handled implicitly through shared ride alternatives in mode choice. Some later revisions to CT-RAMP in specific regions more completely model joint travel. For now, the example follows the MTC TM1 design.
The new sub-models are:
- Joint tour frequency
- Joint tour party composition
- Joint tour person participation
- Joint tour primary destination choice
- Joint tour time-of-day choice
- Joint tour mode choice
- For each household
- MNL model with new expression file - joint_frequency.csv
- Alternatives: 21 (No Tours, 1 Tour segmented by purpose, 2 tours segmented by purpose combination)
- Notes:
- Includes the presence and size of overlapping time-windows, which represent the availability of household members to travel together after mandatory tours have been generated and scheduled.
- This model needs to create a joint tours table as well (or add to the existing tours table with a joint=T attribute)
- For each joint tour
- MNL model with new expression file - joint_party_composition.csv
- Alternatives: 3 (Adults-only, Children-only, Adults + Children)
- Notes: Include the maximum time window overlaps across adults, children and adults or children after mandatory tours have been scheduled.
- For each joint tour and person
- MNL model with new expression file - joint_tour_person_participation.csv
- Alternatives: 2 (Participate in joint tour or does not participate in joint tour)
- Notes:
- Persons with CDAP=Home are excluded
- Requires the calculation of available person time windows
- The existing Java code loops for each joint tour and household person until a valid tour party is formed. Within the valid tour party loop, each person in the household is evaluated to participate in the tour by a) checking if the person type is inconsistent with tour composition (adults only, children only, or mixed, adults and children), b) solving the participation expressions for the person and tour composition, c) adding the person to the tour if they decide to participate (i.e. choose participate), and d) after processing all persons, checking for a valid party and if not, repeating the participation choices with new random numbers.
- In vectorized form, this model looks as follows:
- Create a table for all joint tours with a row for each joint tour and columns for each tour attribute (type, number of adults required, number of children required, purpose, etc.)
- Add all relevant attributes for the first person in each household to the table, solve the participation model, and set an attribute such as PERSON_1_PARTICIPATE = True or False.
- If person participates, then set additional estimated attributes such as number of participating adults and number of participating children.
- Repeat for the 2nd person in the household for each joint tour.
- Repeat for the 3rd, 4th, 5th, ... Nth person in the household for each joint tour.
- Check all tours are valid.
- Restart the process for all remaining invalid tours, but use different random numbers in the participation model.
- Repeat until all remaining tours valid.
- For each joint tour
- Select X alternatives using the same recipe as work/school location sampling
- Alternatives: Zones
- Notes: Use the Joint tour frequency model purpose to lookup the relevant destination choice model by purpose
- For each joint tour
- Calculate X mode choice logsums using the same recipe as work/school logsums for the sample
- Alternatives: Sample of alternative zones
- Notes:
-
@odt_skims
- home taz, alternative taz, time period = Midday (MD) -
@dot_skims
- alternative taz, home taz, time period = Midday (MD) - Use the Joint tour frequency model purpose to lookup the relevant destination choice model by purpose
-
- For each joint tour
- Select a final destination zone using the same recipe as work/school logsums for the final choice
- Alternatives: Sample of alternative zones
- Notes: Use the Joint tour frequency model purpose to lookup the relevant destination choice model by purpose
- For each joint tour
- MNL model with new expressions file - tour_departure_and_duration_joint.csv
- Alternatives: tour_departure_and_duration_alternatives.csv (same as the other purposes)
- Notes:
- Tour departure and arrival period combinations are restricted to only those available for each participant on the tour, after scheduling mandatory activities
- Once the tour departure/arrival time combination is chosen, it is applied to all participants on the tour.
- For each joint tour
- MNL model that uses the existing expressions file - tour_mode_choice.csv
- Alternatives: Same as the other purposes
- Notes:
- Use the Joint tour frequency model purpose to lookup the relevant mode choice model by purpose
- Makes use of some new expressions, such as
is_joint
andnumber_of_participants
for example