Project Meeting 2023.02.28 - ActivitySim/activitysim GitHub Wiki

Agenda

  • Removing simulation noise in ActivitySim (Jan Zill presenting)

Meeting Notes

  • Presentation given on an alternative approach to addressing random terms in choice modeling

  • Key Takeaways

    • Was implemented in a new fork of ActivitySim
    • Increases run time
      • Observed run times were approximately twice as long. Numpy was used to implement and there was some multithreading in this look at run time. On a local, smaller machine, run times were 4x. The number of cores on the machine does matter for run time implications.
      • There may be ways to reduce run times but none have been tested yet.
        • Using GPUs is a possibility
        • Revising how random numbers are generated is a possibility. The reproducible random number generator system in ActivitySim was built a long time ago. The receding process takes a long time. There are newer processes that can store the state of the random number generator (instead of receding it) in a smaller amount of memory. This was infeasible at the time that the random number generator was originally added to ActivitySim but is possible now. However, this is not an easy task and would require funding/resources to implement.
    • This process is a drop-in replacement for computational part of ActivitySim. If we can get into the software mechanics to make it run faster, there are a lot of numerical properties that are desirable.