Description¶
Wiver is a Business Trip Model based upon the model developed by Sonntag et al. (1998).
It is a macroscopic, tour-based model, that calculates demand matrices for different economic sectors and vehicle types. It consists of the steps:
* Tour Generation
* Destination Choice Model
* Tour Optimization (Savings Algorithm)
* Trip Balancing
The model has the following dimensions:
* n_zones: the number of transport analysis zones (TAZ)
* n_groups: the number of demand groups defined by economic sectors and vehicle types
* n_modes: the number of vehicle types
* n_time_slices: the number of time slices to stratify the demand by time of day
* n_time_series: the number of time series
* n_threads: the number of threads to use for parallel computation. Defaults to all available threads
Dimensions: (n_groups: 2, n_modes: 3, n_threads: 2, n_sectors: 2, n_time_slices: 3, n_time_series: 5, n_zones: 5)
Coordinates:
* n_groups (n_groups) object 'Gruppe 0' 'Gruppe 1'
* n_modes (n_modes) object 'Rad' 'Pkw' 'OV'
* n_sectors (n_sectors) object 'Industrie' 'DL'
* n_time_slices (n_time_slices) object 'morgens', 'mittags', 'abends'
* n_time_series (n_time_series) object 'Hin1' 'Hin2' ... 'Home2'
* n_zones (n_zones) object 'A-Stadt' 'B-Stadt' ...
Dimensions without coordinates: n_threads
The input data is to be provided as a xarray-Dataset with the following Data variables:
wiver in VISUM¶
There is a AddIn for PTV VISUM, that uses this wiver-model to calculate commercial travel demand.
The data structure of the “4-Step-Demand-Model” of VISUM is used to represent the input- and result data of the Wiver-model.
The following Visum-Elements are represented in this wiver-package:
Tour Generation¶
For each economic sector the number of employees per travel analysis zone (TAZ) is required:
source_potential_gh (n_groups, n_zones) float64
Destination Choice Model¶
For each economic sector a destination choice model is calculated between all TAZ. The important factors are the trip attraction-potential of the destination zone j, the trip distance between zone i and j and the travel impedance coefficient which depends on the economic sector.
The destination choice model produces a matrix of trips between zones.
Tour Optimization (Savings Algorithm)¶
The tour optimization step appies a savings algorithm in order to simulate that linking trips are more or less efficiently planned (depending on the economic sector).
Trip Balancing¶
The trip balancing step checks if the number of trips to a destination zone is higher or lower than its relative trip attraction potential. In a next iteration, the attraction potential is then adjusted.
Installation¶
The easiest way to handle dependencies is to use conda.
There conda packages for python 3.8 to 3.12 for windown and linux are generated in the channel MaxBo in Anaconda Cloud:
conda create -n wiver python=3.11
activate wiver
conda config --add channels conda-forge
conda config --add channels MaxBo
conda install wiver
Or you install it in an virtual environment with pip install wiver:
pip install wiver
Test the package:
pip install pytest-benchmark
py.test --pyargs wiver