02 - Traffic Assignment Problem - MM

02 - Traffic Assignment Problem - MM

Wardrop's equilibrium principle

We work under the following assumptions:

wardrop's equilibrium principle

In a transportation network, to go from origin p to destination q, travelers choose their routes unilaterally and flows split between different available routes pq, in a way such that, if a traveller would commute to another route, its own O-D trip time would be worse, while other users, also from pq, would benefit from this decision.

Consequently, travelers choose their routes such that all the chosen options result in a unique and minimum travel cost cpq. Non-used routes from pq all have a travel cost ccpq.

This means that each user decides what route has the lowest cost for themselves. In the end, the total cost of the network will not be the minimum possible, but each user will have chosen their routes to minimize their own cost at the moment they chose the route.

Wardrop's equilibrium principle example

It is considered useful to visualize the problem through an example.

The simple network below is given:

02 - Traffic Assignment Problem - MM 2024-11-24 11.50.51.excalidraw.png

There is a demand T to go from node A to node B. There are 2 possible paths. The flows of the 2 paths are v1 and v2.

The flows have to follow the condition:

v1+v2=Tv1,v20

The Volume delay functions are:

{s1(v1)=1+v12s2(v2)=2+v22

We can try an intuitive visualization of the problem:

02 - Traffic Assignment Problem - MM 2024-11-24 12.08.01.excalidraw.png

The #Wardrop's equilibrium principle is reached when both delay function are equal. At that point in fact, the last user could choose link indifferently, as its cost would be the same.

s1(v1)=s2(v2)

In this case, the condition is met for

v1=178v2=158

And

s1(v1)=s2(v2)=5.51

Keep in mind that if this was a min-cost flow problem, the total cost would be lower. but there would be some users with a much higher cost and some with a much lower cost, going against the #Wardrop's equilibrium principle.

The traffic assignment problem

The Traffic Assignment Problem (TAP) can be written as follow:

Minimize the total cumulative cost in the network subject to the usual network constraints (those that define the links and the demand). In maths terms:

traffic assignment problem

minxf(x)
subjet to
Ax=b,x0
from which we get the solution x^.

The TAP can be solved through the Frank-Wolfe Method.

Frank-Wolfe Method

The following problem is given:
minxf(x)
subjet to
Ax=b,x0
from which we get the solution x^.

where:

  • f(x):RnR
  • ARn×Rn
  • xRn
  • bRn

The Frank-Wolfe is an iterative method to solve the problem with the following steps

0. Find a feasible solution

The first step is to find any feasible solution x(k). In the first iteration, k=0.

This solution has to meet the condition Ax=b,x0

1. Define the subproblem

The Frank-Wolfe method works generating a new problem, called a subproblem. This is still an optimization problem but is allegedly easier to solve.

In order to define the new problem, we first need to find the Gradient of f(x). Then, the subproblem is:
minyf(x(k))Ty
subj to:
Ay=b,y0
from which we get the value y^.

Calculate the descent direction

The, we need to calculate a new vector, called the direction, that will allow us to get the solution for the next step of the algorithm.

d(k)=y^x(k)

2. Stopping criteria

We need some sort of stopping criteria to know if the solution x(k) is close enough to the actual solution x^ of the original problem.

We calculate a relative gap, r as
r=f(x(k))Td(k)f(x(k))Tx(k)

We define a relative gap that we find suitable. This is going to be a very small value, ε (=102,104,...)

If r<ε than we stop and accept x(k) as a solution (x(k)x^). Otherwise, we go the next step

The new solution will be given by
x(k+1)=x(k)+αd(k)
where α is the solution to the problem:
min0α1h(α)=min0α1f(x(k)+αd(k))
This can be solved finding the first derivative of h(α), imposing it equal to 0 and then solving for α. This last step is often impossible to do analitically, so we rely on numeric methods to find α (like: Metodo di Newton o Il metodo delle Tangenti, Metodo di Bisezione, Il metodo delle Secanti).

In the particular case that all elements of f(x(k))=s(x(k)) are in the form a+bx, then α can be taken equal to
min{1,α~}
where:
α~=isi(xi)di(k)ibi(di(k))2

4. Update

After having found α is time to update the solution to the next step: x(k) and repeat the method from step #0. Find a feasible solution