CIVL2700 · Transport Systems
Traffic Assignment: User Equilibrium, System Optimal & Tolling
Traffic assignment is the Week 2 network-modelling core of CIVL2700 Transport Systems at the University of Sydney. Given the travel demand between an origin and a destination and a link performance function that makes travel time rise with flow, it works out how vehicles distribute across competing routes. This chapter contrasts Wardrop's first principle (User Equilibrium — the selfish outcome) with the second principle (System Optimal — the coordinated benchmark), then prices the gap with a congestion toll and explains Braess's paradox, where adding a road can slow everyone down.
What this chapter covers
- 01Link performance (volume-delay) function t(x): travel time increasing in link flow x; the linear course form t = t₀ + b·x
- 02Wardrop's 1st principle — User Equilibrium (UE): every used route has equal, minimal travel time; no driver can switch and go faster
- 03Wardrop's 2nd principle — System Optimal (SO): minimise total travel time TTT = Σ xᵣ tᵣ
- 04Solving UE for two routes: set t₁ = t₂ with flow conservation x₁ + x₂ = Q
- 05Solving SO: minimise TTT, or equalise marginal cost MC = tᵣ + xᵣ·tᵣ′ across routes
- 06Marginal external cost: the extra delay a driver imposes on others (the term xᵣ·tᵣ′) that UE ignores
- 07Optimal congestion toll: charge the external cost in money via the value of time (VoT) so tolled UE reproduces SO
- 08Price of anarchy: TTT(UE) ≥ TTT(SO), so selfish routing is never faster than the optimum
- 09Braess's paradox: adding a link can raise total travel time under User Equilibrium
Two-route assignment: UE, SO and the optimal congestion toll
- +1Identify. One O–D pair, two routes, rising linear link times. UE sets equal travel times (t₁ = t₂); SO sets equal marginal costs (MC₁ = MC₂). Substitute x₂ = 9 − x₁ throughout.
- +2UE — equalise times. 8 + 2x₁ = 14 + (9 − x₁) = 23 − x₁ ⇒ 3x₁ = 15 ⇒ x₁ = 5, x₂ = 4 (thousand veh).
- +1UE travel time and TTT. t₁ = 8 + 2(5) = 18 min (check t₂ = 14 + 4 = 18 ✓). Every vehicle takes 18 min, so TTT(UE) = 18 × 9000 = 162,000 veh·min.
- +2SO — minimise total time. TTT = x₁(8 + 2x₁) + x₂(14 + x₂) = 3x₁² − 24x₁ + 207. Set d(TTT)/dx₁ = 6x₁ − 24 = 0 ⇒ x₁ = 4, x₂ = 5. Check marginal costs: MC₁ = t₁ + x₁t₁′ = (8 + 8) + 4·2 = 24; MC₂ = (14 + 5) + 5·1 = 24 ✓.
- +1SO total time. TTT(SO) = 3(4)² − 24(4) + 207 = 159,000 veh·min — a saving of 3,000 veh·min, and TTT(SO) < TTT(UE) as required.
- +1The toll. At SO flows t₁ = 8 + 2(4) = 16 min and t₂ = 14 + 5 = 19 min, so route 1 is cheaper and UE over-uses it (5 > 4). Toll route 1 by the travel-time gap Δt = t₂ − t₁ = 3 min; in money τ = VoT × Δt = $0.40/min × 3 min = $1.20. (Equivalently τ/VoT = x₁t₁′ − x₂t₂′ = 4·2 − 5·1 = 3 min ✓.)
Key terms
- Link performance (volume-delay) function
- A function t(x) giving the travel time on a link as an increasing function of its flow x (t′(x) > 0). CIVL2700 uses the linear form t = t₀ + b·x, where t₀ is the free-flow time and b > 0 is the congestion slope.
- User Equilibrium (UE)
- Wardrop's first principle: the assignment where every used route between an O–D pair carries equal, minimal travel time, so no driver can switch route and travel faster. The behavioural, self-interested outcome; unused routes have a travel time no lower than the used ones.
- System Optimal (SO)
- Wardrop's second principle: the assignment that minimises total network travel time TTT = Σ xᵣ tᵣ. Found by minimising TTT directly or equalising the marginal cost of each route; it is the best the network can do and satisfies TTT(SO) ≤ TTT(UE).
- Marginal cost / marginal external cost
- Adding one vehicle to route r costs MCᵣ = tᵣ + xᵣ·tᵣ′: the driver's own time tᵣ plus the external delay xᵣ·tᵣ′ imposed on everyone already on the link. UE ignores the external term; SO and the optimal toll account for it.
- Value of time (VoT)
- The money a traveller places on a unit of travel time (for example $/min or $/h). It converts a travel-time gap into a monetary toll: toll [$] = VoT [$/min] × time gap [min].
- Congestion toll
- A charge equal to the marginal external cost of a link, priced in money through the value of time. It makes each driver internalise the delay they impose, so the self-interested (UE) choice reproduces the System-Optimal flows.
- Price of anarchy
- The ratio TTT(UE) / TTT(SO) ≥ 1 — the efficiency lost because drivers route selfishly instead of cooperatively. It quantifies how much slower uncoordinated route choice is than the system optimum.
- Braess's paradox
- A network effect where adding a link (or capacity) increases total travel time under User Equilibrium: a tempting new shortcut draws so much traffic onto congestible links that every driver ends up slower than before the link existed.
Traffic Assignment: User Equilibrium, System Optimal & Tolling FAQ
Is System Optimal always faster for every individual driver than User Equilibrium?
No. SO minimises the total travel time across all vehicles, not each person's time. At the system optimum a few drivers could personally go faster by switching routes — which is exactly why SO is not self-sustaining and needs a toll to hold it in place. UE is the outcome self-interested drivers actually reach; it is never faster in total (TTT(UE) ≥ TTT(SO)), but individuals are, by definition, each on their own shortest route.
How do I set the congestion toll in a two-route problem?
First find the System-Optimal flows, then look at the route travel times at those flows. The route that UE over-uses is the cheaper-time route at the SO split. Toll it by the travel-time gap Δt = t_other − t_used, converted to money with the value of time: τ = VoT × Δt. Equivalently, the toll equals the difference in marginal external costs, x₁t₁′ − x₂t₂′, valued in money. Always report the toll in dollars, not minutes.
Can AI help me with traffic assignment in CIVL2700?
Yes, as a study aid. Sia can explain Wardrop's principles step by step, walk you through setting up the UE equal-time condition versus the SO equal-marginal-cost condition, show how the marginal external cost becomes a congestion toll, and check the units on your working. It explains the method and the reasoning so you can solve the next problem yourself — it does not hand over answers to assessed work or promise a grade. Always confirm formulae and exam rules against your Canvas materials.
Exam move
Treat traffic assignment as a two-condition drill. First get fluent with the link performance function so you can see why more flow means more delay. Then practise the split cleanly: User Equilibrium sets travel times equal (t₁ = t₂) with the demand conservation equation, while System Optimal sets marginal costs equal (MC₁ = MC₂) or minimises total travel time directly — the single most common exam slip is mixing these up. Drill the marginal-cost formula MC = tᵣ + xᵣ·tᵣ′ until the external term is automatic, because it is both the reason UE differs from SO and the size of the optimal toll. For tolls, always finish by converting the time gap to money with the value of time and stating the units. Finally, be able to explain Braess's paradox in words as a User-Equilibrium result. The final exam is worth 40% of the unit, is supervised and comprehensive, runs 2.5 hours, and carries a hurdle (you must score at least 40% on it to pass); budget your time in proportion to marks and confirm the exact date, room and the open- or closed-book rule on Canvas.
Working through Traffic Assignment: User Equilibrium, System Optimal & Tolling in CIVL2700? Sia is AskSia’s AI Engineering tutor — ask any CIVL2700 Traffic Assignment: User Equilibrium, System Optimal & Tolling question and get a clear, step-by-step explanation grounded in how CIVL2700 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.