Difference between revisions of "2.2 Software Requirements"

From NFTPO Model
Jump to: navigation, search
(Updated to NERPMAB2)
 
(2 intermediate revisions by 2 users not shown)
Line 23: Line 23:
 
Cube Voyager serves three (3) important functions in the NERPM-AB model system.
 
Cube Voyager serves three (3) important functions in the NERPM-AB model system.
  
#The software is used to open, view and execute the Cube model catalog file (NERPMAB1.cat) and therefore represents the graphical user interface (GUI) for the entire regional travel model.
+
#The software is used to open, view and execute the Cube model catalog file (NERPMAB2.cat) and therefore represents the graphical user interface (GUI) for the entire regional travel model.
 
#The software includes a built-in Scenario Manager allowing users to modify elements of any desired scenario: defined alternatives (eg. analysis years), applications executed as part of the scenario, the list of data inputs/outputs, and the catalog key parameter values that affect and define different scenarios.
 
#The software includes a built-in Scenario Manager allowing users to modify elements of any desired scenario: defined alternatives (eg. analysis years), applications executed as part of the scenario, the list of data inputs/outputs, and the catalog key parameter values that affect and define different scenarios.
 
#The software also and most importantly controls the overall model system flow based on the execution of certain model steps in a prescribed sequence using built-in algorithms and user-specified scripts that specify inputs, parameter values and outputs. In addition, the software in the case of NERPM-AB includes the integration between the DaySim activity-based demand model and Cube Voyager supply model where DaySim is called from within the Cube 6 runtime environment.
 
#The software also and most importantly controls the overall model system flow based on the execution of certain model steps in a prescribed sequence using built-in algorithms and user-specified scripts that specify inputs, parameter values and outputs. In addition, the software in the case of NERPM-AB includes the integration between the DaySim activity-based demand model and Cube Voyager supply model where DaySim is called from within the Cube 6 runtime environment.
Line 29: Line 29:
 
FDOT has relied on Cube Voyager for previous regional planning models and so these concepts and this regional planning and forecasting software should be familiar to most end-users already practicing in the region.
 
FDOT has relied on Cube Voyager for previous regional planning models and so these concepts and this regional planning and forecasting software should be familiar to most end-users already practicing in the region.
  
'''DaySim'''
+
<h2>DaySim</h2>
  
Overview
+
<h3>Overview</h3>
  
 
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).  
 
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).  
Line 39: Line 39:
 
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.
 
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
+
<h3>Role in the Model System</h3>
  
 
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.
 
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 Jacksonville model directory structure. The compiled executable (DaySim.exe) can be found in the \ User.prg \DaySim subdirectory.
+
<h3>Installation</h3>
  
'''R'''
+
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 \User.prg\DaySim subdirectory.
  
Overview
+
<h2>R</h2>
 +
 
 +
<h3>Overview</h3>
  
 
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 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.
Line 64: Line 65:
 
More information on R can be found at:  http://www.r-project.org/.
 
More information on R can be found at:  http://www.r-project.org/.
  
Role in the Model System
+
<h3>Role in the Model System</h3>
  
R is primarily used for two purposes in this model:
+
R is not actively used in this model. R is supplied with the model to generate DaySim summaries for calibration and validation.
 
 
*Preparing input data for various model components
 
*Processing and summarizing ABM (DaySim) output data
 
 
 
R-scripts have been created to prepare input files for both population synthesis and also synthetic population input for DaySim. Details about population synthesis for DaySim have been provided in the next section.
 
  
 
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 calibration and validation of the AB demand model.
 
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 calibration and validation of the AB demand model.
  
Installation
+
<h3>Installation</h3>
 
 
R can be downloaded via the Comprehensive R Archive Network (CRAN) located at: http://cran.revolutionanalytics.com/.
 
A user would click “Download R for Windows” hyperlink, click on the “install R for the first time” hyperlink, then click on the “Download R 3.1.2 for Windows” to begin the download of the installation setup file R-3.1.2-win.exe. Note, the R project and CRAN websites listed above have a great deal of information and documentation pertaining to R including installation instructions, technical documentation, FAQs and much more.
 
 
 
The following steps should be followed to install R:
 
 
 
1. Double-click the file R-3.1.2-win.exe to run the installation setup.
 
2. Select the appropriate language (English), and click “Ok”.
 
[[File:Figure 2-1.png]]
 
 
 
3. Click “Next” to continue the setup.
 
[[File:Figure 2-2.png]]
 
 
 
4. Click “Next” once you have read the Public Licensing information.
 
[[File:Figure 2-3.png]]
 
 
 
5. Select a location for the program installation (e.g. C:\ProgramFiles\R\R-3.1.2) and click “Next”.
 
[[File:Figure 2-4.png]]
 
 
 
6. Select the components to be installed. All components can be selected. Then click “Next”.
 
[[File:Figure 2-5.png]]
 
 
 
7. Click “Next” to leave the accepted defaults for the startup options.
 
[[File:Figure 2-6.png]]
 
 
 
8. Specify the location where the program’s shortcut in the Start Menu folder will reside (e.g. R) and click “Next”.
 
[[File:Figure 2-7.png]]
 
 
 
9. Select which additional tasks are desired and click “Next”.
 
[[File:Figure 2-8.png]]
 
 
 
10. The installation will begin and present the following progress on-screen.
 
[[File:Figure 2-9.png]]
 
 
 
11. When the installation is complete, click “Finish”.
 
[[File:Figure 2-10.png]]
 
 
 
12. R will now have been successfully installed on the user’s computer. To confirm the program was installed successfully, look for and find the R shortcut which should now reside on the desktop (R x64 3.1.2). Double clicking the shortcut will open the RGui and console.
 
[[File:Figure 2-11.png]]
 
 
 
'''PopGen'''
 
  
Overview
+
No complex installation of the R software is required. R simply resides as a single compiled executable within the NFTPO model directory structure. The R application can be found in the \R-3.4.4 subdirectory.
  
PopGen (Population Generator) is a Python-based tool for population synthesis which includes an easy-to-use and flexible graphical user interface (GUI). It was originally developed by researchers at the Arizona State University (ASU) and has been made available through open-source licensing arrangements with a view to foster further research and development in population synthesis. The tool is implements a new heuristic algorithm that is capable of generating synthetic populations while controlling and matching both household-level and person-level attribute distributions. More information on PopGen can be found at the ASU SimTRAVEL Research Initiative at: http://urbanmodel.asu.edu/popgen.html
+
<h2>PopulationSim</h2>
  
Role in the Model System
+
<h3>Overview</h3>
  
Generation of a regional synthetic population is a preliminary step of any AB model.  PopGen generates a synthetic population by drawing households from a Public Use Micro-Sample (PUMS) sample to match a supplied traffic analysis zone (TAZ) level joint distribution of household and person characteristics using iterative proportional fitting and other innovative techniques.  These TAZ-level households are then allocated to parcels for use in the region. The AB demand model (DaySim, in this case) simulated daily activity patterns for all persons in the households of synthetic population.
+
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
  
Installation
+
<h3>Role in the Model System</h3>
  
PopGen requires the installation of a number of supplementary software in addition to Python. The list below represents the list of software programs which need to be installed prior to installing the PopGen (v1.1). Each supplementary software has its own installation wizard(s) that will take the user through the various installation steps. Many of these installation wizards are very simple and quite similar. It should be noted the versions of the software listed below are not the latest. However, these versions are known to work together the best.
+
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.
  
*Python 2.5.4 for Windows
+
<h3>Installation</h3>
*Numpy 1.3.0 for Windows 32 bit and Python 2.5
 
*Scipy 0.7.0 for Windows 32 bit and Python 2.5
 
*MySQL_Python 1.2.2 for Windows 32 bit and Python 2.5
 
*Matplotlib 0.98.5.3
 
*Parallel Python 1.5.7
 
*MySQL 5.0 for Windows
 
  
The developers of PopGen have created a detailed stand-alone User Manual which provides clear instructions, steps and visual cues to walk a new user through the installation of both the supplementary software and PopGen v1.1. Instead of reproducing those installation steps in this guide, the authors have attached the full PopGen User Manual as an appendix to this technical documentation. The user should refer to Chapter 2 - Setup and Installation in the PopGen User Manual (v1.1) when attempting the installation of the PopGen software.
+
PopulationSim required 64-bit Anaconda (Python 2). No complex installation of the Anaconda software is required. Anaconda simply resides in \User.prg\Population_Synthesis\Anaconda2 within the NFTPO model directory structure. Anaconda is an open-source distribution of Python which bundles the most useful python libraries together for making it easy for the users.
  
More information on PopGen along with technical papers and training materials can be found at the ASU SimTRAVEL Research Initiative at:  http://urbanmodel.asu.edu/popgen.html
+
The developers of PopulationSim have created a detailed stand-alone wiki which 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.

Latest revision as of 13:18, 9 November 2020


Operating System

The model system components are currently configured to run under a variety of Windows versions, including Windows Server 2008 and Windows 7 and more recent updates.

Cube Voyager

Overview

Cube Voyager is a commercially available software package developed by Citilabs, Inc. for the modeling and analysis of regional passenger transportation systems including roadways, public transit, pedestrians and bicycles. Cube Voyager uses a modular and script-based structure allowing the incorporation of any model methodology ranging from standard four-step models, to discrete choice to activity-based approaches. The software also includes highly flexible network and matrix calculators for the calculation of travel demand and for the detailed comparison of scenarios.

Models built with Cube Voyager can take many forms:

  • Four-step models commonly used in urban areas: Cube Voyager includes easy-to-use templates for developing generation, distribution, mode choice and assignment structures
  • Activity-based demand: Cube Voyager provides the flexibility to incorporate most of these techniques. It is simple to incorporate specifically designed modules for the analysis and estimation of activity patterns. (eg. the NERPM-AB model system)
  • Combined equilibrium models: Cube Voyager provides a complete scripting and equilibrium feedback language allowing models of this form to be implemented.

Past regional travel model systems employed in the region have relied on and made use of the Cube Voyager software. In the new NERPM-AB model many elements of that previous framework are retained since the software and data structures used to represent the supply-side component of the overall model system are unchanged.

Role in the Model System

Cube Voyager serves three (3) important functions in the NERPM-AB model system.

  1. The software is used to open, view and execute the Cube model catalog file (NERPMAB2.cat) and therefore represents the graphical user interface (GUI) for the entire regional travel model.
  2. The software includes a built-in Scenario Manager allowing users to modify elements of any desired scenario: defined alternatives (eg. analysis years), applications executed as part of the scenario, the list of data inputs/outputs, and the catalog key parameter values that affect and define different scenarios.
  3. The software also and most importantly controls the overall model system flow based on the execution of certain model steps in a prescribed sequence using built-in algorithms and user-specified scripts that specify inputs, parameter values and outputs. In addition, the software in the case of NERPM-AB includes the integration between the DaySim activity-based demand model and Cube Voyager supply model where DaySim is called from within the Cube 6 runtime environment.

FDOT has relied on Cube Voyager for previous regional planning models and so these concepts and this regional planning and forecasting software should be familiar to most end-users already practicing in the region.

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 \User.prg\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 calibration and validation of the AB demand model.

Installation

No complex installation of the R software is required. R simply resides as a single compiled executable within the NFTPO model directory structure. The R application can be found in the \R-3.4.4 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

PopulationSim required 64-bit Anaconda (Python 2). No complex installation of the Anaconda software is required. Anaconda simply resides in \User.prg\Population_Synthesis\Anaconda2 within the NFTPO model directory structure. Anaconda is an open-source distribution of Python which bundles the most useful python libraries together for making it easy for the users.

The developers of PopulationSim have created a detailed stand-alone wiki which 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.