Progress Report - ActivitySim/activitysim GitHub Wiki

This page will keep a (somewhat) up-to-date list of the status of completion for each model we're working on. There will be a separate percentage completion for the code and for the variables, as some of the models have hundreds or even thousands of variables.

If something is a sufficiently complicated variable to calculate, I am considering that to be "code."

Iteration Model Name CodePct ModelPct Notes
1 Work location 99% 99%
1 School location 99% 99%
1 Auto ownership 99% 90% Missing "Auto Time Savings" variable
1 CDAP 99% 90% Missing no regular work and school location and work at home variables
1 Mandatory tour gen 99% 99%
1 Work scheduling 99% 90% Windowing variables aren't implemented
1 School scheduling 99% 90% Same variables missing as work scheduling
Joint tour generation 0% 0%
Joint tour party composition 0% 0%
Joint tour person participation 0% 0%
Joint tour scheduling 0% 0%
Joint tour destination 0% 0%
1 Non-mandatory tour gen 99% 90% "residual window" is unimplemented, no joint tours variables
1 Non-mandatory scheduling 99% 90% Same as for mandatory but start/end times need to be included for all previous trips rather than single previous trip
1 Non-mandatory destination 99% 90% Tours need to be converted to "escort kids" and "escort no kids"
At-work subtour generation 0% 0%
At-work subtour scheduling 0% 0%
At-work subtour destination 0% 0%
Free parking eligibility 0% 0%
1 Tour mode choice 80% 80% See specific to do list below
Stop frequency 0% 0%
Stop purpose 0% 0%
Stop scheduling 0% 0%
Stop destination 0% 0%
1 Trip mode Choice 80% 80% See specific to do list below

Mode Choice To Do List

  • Reformat specs from previous somewhat ad-hoc format to straight csv
  • Add separate csv file for coefficients by purpose
  • Implement .format strings for standard variable expressions - e.g. all the drive time ratios look the same so just use a format string and sub in the appropriate skim names
  • Adjust all the expressions in the csv file and add placeholders to the code
  • When multiple alternatives occur in the alternative column, copy rows for each alternative (this is for alternative specific constants at the end of the file which are not used yet for this reason)
  • Walk and Bike alternatives are commented out
  • Need to unit test the small utilities that are used in mode choice expressions right now
  • fill in the placeholder variables in the code - e.g. alternative availability, etc
  • fill in the placeholders for skim names (i.e. read all the right skims in)
  • In the end there were more skims than my computer could load into memory . I see your point that this is perhaps the biggest issue in activitysim. We'll need to put some thought into this.
  • Line up the mode choice models with the right tour purposes, especially for trip mode choice where we don't even have trips isolated yet

###Other unfinished core tasks include:

  • Implement simulated nested logit
  • Once models are considered close to complete, we should add some sort of end-to-end tests for the expected results (compare to CTRAMP results or...)
  • Logsums need to be added to a few models, including workplace location and destination choice, mandatory scheduling, ?

###List of difficulties with vectorization we've uncovered so far (often household coordination, but not always)

  • CDAP (pretty much the whole model)
  • "has presence of" variables
  • scheduling (tours are dependent on the tours that come before them for the same person)