The Association of Metropolitan Planning Organizations (AMPO) chose RSG to build an open platform for regional activity-based travel demand modeling. Our work was funded by a consortium of transportation planning agencies (San Diego Association of Governments, Metropolitan Transportation Commission, Atlanta Regional Commission, Puget Sound Regional Council, San Francisco County Transportation Authority, and the Southeast Michigan Council of Governments) who sought to create a shared, open platform that could be easily adapted but would share a robust, efficient, and well-maintained common core.
RSG implemented this platform, ActivitySim, using the latest popular and powerful scientific python libraries. The core design principle of the system is vectorization so computationally efficient underlying C/C++ code can be used wherever reasonable. This is made possible by formulating each submodel as a series of independent vectorized table operations as opposed to the traditional object-oriented approach, which is slow and memory intensive. ActivitySim exposes model expressions in CSV files that contain Python expressions written by a modeler, thereby significantly reducing the need for code modifications. The system is under continuous integration so revisions to the platform cannot be accepted until systematically verified, which lessens the likelihood of bugs being introduced. Any software issues are tracked online, and the entire project is managed in GitHub for easier collaboration among users, developers, agency partners, and researchers. The result is a community-supported framework for advanced travel demand models that will replace the activity-based modeling tools developed to date and be maintained and developed for years to come.