The Method of Successive Averages

The Method of Successive Averages (MSA) is an iterative traffic-assignment algorithm that uses a predetermined step size αk=1/k\alpha_k = 1/k instead of a line search. This lesson develops the update rule, the running-average interpretation, and the full iteration procedure on parallel-route networks.

Step 1 of 157%

Tutorial

Introduction

The Method of Successive Averages (MSA) is an iterative algorithm for solving the user-equilibrium traffic assignment problem. Like Frank-Wolfe, MSA performs an all-or-nothing (AON) assignment at each iteration. Unlike Frank-Wolfe, MSA uses a predetermined step size rather than a line search.

At iteration k,k, let x(k)\mathbf{x}^{(k)} denote the current vector of link flows and let y(k)\mathbf{y}^{(k)} denote the AON assignment computed at the current link costs ca(xa(k)).c_a(x_a^{(k)}). The MSA update rule is

x(k+1)=x(k)+1k(y(k)x(k)).\mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} + \dfrac{1}{k}\left(\mathbf{y}^{(k)} - \mathbf{x}^{(k)}\right).

Equivalently,

x(k+1)=(11k)x(k)+1ky(k).\mathbf{x}^{(k+1)} = \left(1 - \dfrac{1}{k}\right)\mathbf{x}^{(k)} + \dfrac{1}{k}\,\mathbf{y}^{(k)}.

Because the step size αk=1/k\alpha_k = 1/k does not depend on any property of the objective function, MSA can be applied even when the objective is hard or impossible to evaluate (e.g., stochastic user equilibrium, simulation-based assignment). The price for this simplicity is slower convergence than Frank-Wolfe.

For instance, at iteration k=5k=5 with x(5)=(70,30)\mathbf{x}^{(5)} = (70,30) and y(5)=(0,100),\mathbf{y}^{(5)} = (0,100),

x(6)=(70,30)+15((0,100)(70,30))=(70,30)+(14,14)=(56,44).\begin{align*} \mathbf{x}^{(6)} &= (70,30) + \dfrac{1}{5}\big((0,100)-(70,30)\big) \\[3pt] &= (70,30) + (-14,14) \\[3pt] &= (56,44). \end{align*}
navigate · Enter open · Esc close · ⌘K/Ctrl K toggle