MSA

The Method of Successive averages Smoothing implementation
Description

The Method of successive averages is a very basic, yet powerful smoothing method. In this method, every iteration is weighed equally in the final result which is achieved by applying the following function to the data that is being smoothed (can be flow, can be cost, can be something else, this depends on the assignment method that is adopted).

\(\Large x_{i+1}=(1-s_i) \cdot x_{i} + s_i \cdot y \qquad \text{where } {s_i= {1 \over i} \qquad \text{with } i=1,...,I. }\)

Explanatino of variables:

\(i= \textrm{ iteration index given a total of } I \textrm{ iterations},\\ s_i= \textrm{ step size in iteration } i,\\ x_i= \textrm{ result of smoothed value in iteration } i,\\ y= \textrm{ new found value to update result},\\ \\\)

As can be seen, the more iterations are conducted, the less the newly found value is incorporated in the result. Therefore, using MSA guarantees convergence of \(x\) (although it does not guarantee convergemce of \(y\).

Defaults

This class has no defaults (yet)

Methods

This class has no methods (yet)

Properties

This class has no properties (yet)

Example 1

from planit import *

# choose to run PLANit with a traditional static traffic assignment method
planit_instance = PLANit()
planit_instance.set(TrafficAssignment.TRADITIONAL_STATIC)

# set smoothing to MSA
planit_instance.assignment.set(Smoothing.MSA)

See also

Traffic assignment on assignments that support this virtual cost implementation
Smoothing.<enum> for all available smoothing type options

Source code

Class SmoothingWrapper in Wrappers.py


Last modified January 1, 0001