SAND: Simulator and Analyst of Network Design 1.0


Click here for a PDF version of this file.


Simulator and Analyst of Network Design (SAND) is a java applet developed to enhance the understanding of transportation planning and network design in a classroom environment. In reality, transportation network design involves a complicated process by which metropolitan planning organizations (MPOs) make changes to a network under given budgetary, regulatory, and/or geographical constraints to achieve various objectives. By incorporating simplified land use-network structure and travel demand forecasting models in a simulation environment, SAND visualizes changes to a given network and the resultant traffic patterns, and allows users to evaluate the impact of these changes in terms of Measures of Effectiveness (MOEs) of travel.


This simulator adopts a simplified land use and network structure. It is assumed a network consists of a set of nodes representing centroids where all the trips start and end. There are two types of land use assigned to each node: workers and jobs. A set of directional links (representing roads) directly connect the nodes.

Simplified travel demand models are incorporated to predict traffic flows across the given network structure. The models are adopted from SONG2.0, a previous regional planning model developed for the Minnesota Department of Transportation project "Beyond Business as Usual: Ensuring the Network We Want Is the Network We Get". For a detailed description of the travel demand models, one can refer to Appendix B of the project report ( A brief explanation of the component model is given as follows:

  1. •  Trip generation: it is assumed by default that a worker generates one vehicular trip in the morning hour while a job attracts one trip. If the total number of jobs is not equal to that of workers, trip attraction rates will be normalized so that the total number of trips attracted equal the total trips generated.
  2. •  Trip distribution: A doubly-constrained trip distribution model is adopted. The average intra-zonal trip duration (for trips that start and end at the same centroid) is assumed to be 5 minutes at each centroid.
  3. •  Mode choice: mode choice is skipped, and instead vehicle trips are directly estimated.
  4. •  Traffic assignment: Stochastic User Equilibrium (SUE) traffic assignment is adopted.


As can be seen, the interface of SAND consists of three panels:

I. Parameter panel
II. Visualization panel
III. Output panel

I. The parameter panel

The parameter panel is located in the left side of the interface. It is where users can
modify the attributes of nodes and links in a network and make changes to the values of certain global variables in the travel demand models. The main components contained in this panel include:

0. network type (choice box)

You can either select one of the four given networks or load an edited network from a saved network file to start an experiment. Right click on a specific link to check its initial attributes.

Each time after you run an experiment by clicking "Evolve", you have to re-select a network to start the next experiment.

1. land use distribution (choice box)

You can either select one of the three types of land use distributions given in the choice box or load a saved network file with modified land use (once a network file is loaded, this choice bar is disabled). For each given land use distribution, a centroid is assigned with an average of 500 workers and 500 jobs. Right click on a specific node to check its initial attributes. The three given land use distributions are described as follows:

  1.   Uniform: each centroid is assigned with 500 workers and 500 jobs;
  2.   Prespecified random: the numbers of workers and jobs are randomly distributed between 0 and 1,000;
  3.   Downtown: the numbers of workers and jobs are subject to bell-shaped distributions. The number of jobs at a centroid exponentially declines with the distance from the centroid to downtown at a specified rate of 0.2; the number of workers exponentially increases with the distance to downtown at a specified rate of 0.1. The location of the downtown is prespecified for different networks. For grid networks, it is the center of the network; for networks across river, it is a specified node (Node 42 north of the river in our case).

2. Edit network

2.1 Edit link/node properties (Button)

Left-click on a link or a node to select it. After a link or node element is selected, it turns into magenta. Only one link can be selected at a time. Left-click elsewhere in the visualization panel to de-select.

The "Edit" button will be enabled when a link or a node is selected. Click "Edit" button will open a window as shown below in which the properties of the selected link (number of lanes and toll rate) or selected node (number of workers and number of jobs) can be changed. To resemble the reality, the simulator specifies value ranges for the editable attributes as follows:

  1. • Number of lanes: 1-8 (It is assumed that one lane is always equivalent to an additional capacity of 1200 veh/hr; the free flow speed of a link changes accordingly with the number of lanes);
  2. • Toll rate: 0-$5;
  3. • Number of workers: 0-10,000
  4. • Number of jobs: 0-10,000

Although the attributes of a link or node in a network can be changed, one can not change the network structure by deleting or adding a link/node.

2.2 Save edited network (Button)

Click "Save" button to save editing work. If one starts an experiment without saving his/her editing work, the experiment will still run on the edited network, but the editing work can not be retrieved. The saved network file is a text file that contains updated node information and link information. Once it is saved, the file is not supposed to be modified by the users, or it could cause unexpected termination of the applet when it is loaded.

3. Parameters in travel demand model (Scroll bars)

One can change the value of certain global variables in the travel demand models using corresponding scroll bars. The global variables and their default values are explained as follows:

3.1. Auto Trip Rate: By default it is assumed that one worker produces one auto trip in the morning peak hour while one job attracts one auto trip. By changing auto trip rate we change the number of auto trips that a worker produces and that a job attracts simultaneously, and the change applies to each centroid.

3.2. Value of time: By default it costs an average of 10 dollars for a vehicle to travel for one hour.

3.3. Friction factor: it is used in the doubly constraint trip distribution model to indicate the rate at which people
s willingness to travel decline with the increase in generalized travel cost. The default value is specified as 0.05. The larger the value is, the less people would travel further.

3.4. Scaling factor: it is used in the discrete route choice model in traffic assignment to indicate how sensitive travelers' route choice is towards the difference in perceived travel cost between two routes. The default value is set at 0.2, following Leurent's (1995) work on case studies in the Paris metropolitan area. This means that if one route is shorter by five minutes than another, then approximately three out of four drivers will choose the first road. The larger the value is, the more likely travelers will choose the route with a smaller perceived cost.

3.5. Peak hour traffic ratio: as the travel demand models in this simulator forecasts traffic in the morning peak hour, this ratio inflates predicted morning traffic to daily traffic. This parameter is only useful when calculating MOEs.

4. Restore global variables (Button)

Click "Restore" button to restore the default values of the global variables.

II. The visualization panel

Visualization of the simulation is demonstrated on the right hand side of the interface, including the graph output, legend, and status information.

  1. • Graphic output is shown on the grid network graph with different colors on each link representing different link attributes. The thickness of a link indicates number of lanes on the link. The present attributes of a link or a node can always be checked by right-clicking on it. Left-click on a node or link to select it for editing.
  2. • Legend: different link attributes are displayed in different colors to demonstrate the result traffic pattern after an experiment is executed. In particular, the simulator follows the Red, Orange, Yellow, Green, Blue, Indigo, and Violet (ROYGBIV) spectrum with "Red" representing the highest speed or flow and "Blue" representing lowest values in speed or flow. The particular value of speed or flow for each color is indicated in the legend below the graph panel;
  3. • Status information is displayed in a line of text below legend.

III. The output panel

The output panel is located on the lower right hand side of the interface. The output panel contains the following elements:

1. The "Evolve" button

Click the "Evolve" button to run an experiment after the network is edited and the global variables are adjusted. After an experiment is executed, network type, land use distribution, and global variables are disabled, but one can still make further changes to the network and "Evolve" again. The resultant traffic and other information on a specific link can be checked by right-clicking on the link. After One can make further changes to the network and evolve

2. The scroll down boxes

With the two scroll down boxes resultant traffic pattern can be displayed with different link attributes (number of lanes, link volume, volume capacity ratio) at an absolute or a relative scale.

3. The "Statistics" button

After an experiment is executed, the "Statistics" button is enabled. Click the button will open the statistics window as shown above. The statistics window presents network summary which summarizes the choices of network and land use distribution as well as the specified values of global variables. The MOEs resulted from the experiment are also included. One can save the statistics to a text file.


Step 1: Select a given network and a given land use distribution, or load a network and a land use distribution from a network file. In the latter case, skip Step 2.

Step 2: Make changes to a given network by modifying the attributes of links and/or nodes in the network. After changes are made, save the edited network when needed such that the editing work can be retrieved.

Step 3: Adjust the values of global variables in the travel demand models.

Step 4: Click "Evolve" to run the travel demand models on the edited network.

Step 5: Check the resultant traffic patterns across the network using the scroll down boxes in the output panel.

Step 6: Check the network summary and MOEs outputs in the statistics window. Save the statistics when needed.

Step 7: Make further changes to the network when needed and repeat Steps 4-6.

Step 8: Save an edited network when needed.

Step 9: Select a network to start the next experiment.