2.2 Software Requirements

From visummodelwiki
Jump to: navigation, search


Operating System

The model system components are currently configured to run under a variety of Windows versions, including Windows Server 2022 and Windows 11 and more recent updates. The model package includes the necessary software installations and applications required to run all components of NERPM-AB. The various software component of NERPM-AB are described below:

PTV Visum

Overview

PTV Visum is the world's leading transportation planning software developed by PTV Group. It is the standard for macroscopic simulations and macroscopic modeling of transportation networks and transportation demand, public transportation planning, active modes, and the development of transportation strategies and solutions. PTV Visum is designed for multimodal analysis and integrates supply and demand data into one consistent integrated data model. PTV Visum provides a variety of assignment procedures, inbuilt procedures, and a powerful Python API to implement any modeling approaches ranging from standard four-step models to tour-based and activity-based approaches. PTV Visum also has a fully integrated network editor and matrix calculation procedures. The Visum network includes ABM network objects which enable processing and graphical analysis of ABM outputs.

Models built with PTV Visum can take many forms:

  • Four-step models commonly used in urban areas: PTV Visum includes easy-to-use Graphical User Interface for developing generation, distribution, mode choice, and assignments.
  • Tour-based models: PTV Visum includes inbuilt procedures to develop aggregate or disaggregate tour-based models.
  • Activity-based demand: PTV Visum provides data structures and procedures for supporting Activity-based demand models, as well as graphical displays.
  • Custom models: The integrated Visum data model and the Python API can be used to create any custom model design.

The PTV Visum-based NERPMAB v2.2 model retains the model components from the previous framework and revamps the model flow and integration using advanced features in Visum. The new Visum-based NERPM-AB has been designed as an integrated system with Visum serving as the one-stop shop for all modeling tasks.

Role in the Model System

PTV Visum serves the following important functions in the NERPM-AB model system:

  1. It serves as the Graphical User Interface (GUI) for the entire model. The software is used to view, edit, and execute the procedure sequence which runs the model steps sequentially in the prescribed sequence. The procedure sequence steps interface with other model components such as PopulationSim, DaySim, DaySim Data Tools, etc. using the Python API, and executes them using stored configuration settings and input data.
  2. It provides a centralized network and data management system streamlining the network editing and data update workflows.
  3. The software serves as a Scenario Manager by enabling users to select a model year, modify network elements and land use data, and configure various model properties to design custom scenarios.
  4. All DaySim outputs are imported back into Visum allowing the users to view and analyze disaggregate demand data along with the supply data.

While the software platform has changed from previous versions of NERPM-AB, much of the overall model structure has remained the same.

Python

Overview

Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built-in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together.

Python is developed under an OSI-approved open-source license, making it freely usable and distributable, even for commercial use. More information on Python can be found at: https://www.python.org/.

Role in the Model System

Python scripts are used to perform various data processing tasks, control input/output, and execute different model components in NERPM-AB. These scripts are run from within Visum's procedure sequence and make extensive use of Visum's Python API to access network and data elements.

Installation

The user does not need to install Python. All Python scripts use the Python distribution that comes with the PTV Visum install and do not require any additional package installation. Any of the tools requiring Python use their own custom installation included in the model package.


DaySim

Overview

The travel demand model used in the Northeast regional planning activity-based model system is coded in a software framework called DaySim. DaySim is one of the two main “families” of activity-based model (AB) systems now being used by MPOs in the United States. DaySim was initially implemented by Mark Bradley and John Bowman in Sacramento, CA, on behalf of the Sacramento Area Council of Governments (SACOG).

DaySim simulates 24-hour itineraries for individuals with spatial resolution as fine as individual parcels and temporal resolution as fine as single minutes, so it can generate outputs at the level of resolution required as input to dynamic traffic simulation. DaySim’s predictions in all dimensions (activity and travel generation, tours and trip-chaining, destinations, modes, and timing) are sensitive to travel times and costs that vary by mode, origin–destination (OD) path, and time of day, so it can, in turn, effectively use as inputs the improved network travel costs and times output from a dynamic traffic simulator. DaySim captures the effects of travel time and cost upon activity and travel choices in a way that is balanced across modes and times of day and consistent with the econometric theory of nested choice models.

The C# (C-sharp) version is used for the NERPM-AB model system, and can be compiled to run in both 32- and 64-bit environments. DaySim can be used in a distributed manner by running separate instances on different processors on different partitions of the study area population, and then merging the results.

Role in the Model System

The DaySim activity-based demand model produces six principal outputs: 1) Household file, 2) Household day file, 3) Person file, 4) Person day file, 5) Tour file and 6) Trip file. Taken together, these hierarchical output files are similar to the data files from a traditional household travel diary survey. In this case, however, instead of actual trips from a subsample of the actual population, DaySim produces simulated daily trips for an entire, synthetically generated population of travelers.

Installation

No complex installation of the DaySim software is required. DaySim simply resides as a single compiled executable within the NFTPO model directory structure. The compiled executable (DaySim.exe) can be found in the \tools\DaySim subdirectory.

R

Overview

R is a language and environment for statistical computing and graphics. R provides a wide variety of statistical and graphical techniques, and is highly extensible. One of R's strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formula where needed.

R is open-source available as Free Software under the terms of the Free Software Foundation's GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.

R is an integrated suite of software facilities for data manipulation, calculation and graphical display. It includes:

  • An effective data handling and storage facility,
  • A suite of operators for calculations on arrays, in particular matrices,
  • A large, coherent, integrated collection of intermediate tools for data analysis,
  • Graphical facilities for data analysis and display either on-screen or on hardcopy, and
  • A well-developed, simple and effective programming language that includes conditionals, loops, user-defined recursive functions and input and output facilities.

More information on R can be found at: http://www.r-project.org/.

Role in the Model System

R is not actively used in this model. R is supplied with the model to generate DaySim summaries for calibration and validation.

Once DaySim is run and day patterns of all the persons in the model system have been simulated, R-scripts are also used to prepare summaries of various sub-models outputs such as auto ownership, tour/trip modes and times, etc. Summary tables are written out to Excel spreadsheets that are subsequently used for calibration and validation of the AB demand model.

Installation

No complex installation of the R software is required. A custom installation of R is provided within the NFTPO model directory structure. The R installation can be found in the \tools\R-3.4.4 subdirectory. Some libraries in the R installation require Java to run some functions. A custom installation of Java Development Kit (JDK) is also provided within the model package. The JDK installation can be found in the \tools\jdk-17.0.2 subdirectory

PopulationSim

Overview

PopulationSim is an open platform for population synthesis and survey weighting. It is a Python-based tool for population synthesis which includes an easy-to-use interface. More information on PopulationSim can be found at the ActivitySim website: https://activitysim.github.io/populationsim/index.html

Role in the Model System

Activity Based Models (ABMs) operate in a micro-simulation framework, wherein the travel choices of person and household decision-making agents are predicted by applying Monte Carlo methods to behavioral models. This requires a data set of households and persons representing the entire population in the modeling region. Population synthesis refers to the process used to create this data.

Installation

The PopulationSim version used in NERPM-AB requires a 64-bit Anaconda (Python 2). No complex installation of the Anaconda software is required. The model package includes a full install of Anaconda in the \tools\Population_Synthesis\Anaconda2 subdirectory. Anaconda is an open-source distribution of Python which bundles the most useful python libraries together for making it easy for users.

The developers of PopulationSim have created a detailed stand-alone wiki that provides clear instructions, steps, and visual cues to walk a new user through the installation or update of both the supplementary software and PopulationSim. The wiki also describes how to use the software, how to validate model results, and also describes how PopulationSim works in detail.