17/4/13Challenge the futureDelftUniversity ofTechnologyCIE4801 Transportation and spatial modellingRob van Nes, Transport & PlanningCongested assignment
2CIE4801: Congested assignmentContent• What are we talking about?• General network assignment problem• DUE: Deterministic user equilibrium assignment• DUE: Mathematical formulation• DUE: Algorithms• SUE: Stochastic user equilibrium assignment• Special topics• Reprise Probit and Logit
3CIE4801: Congested assignment1.What are we talking about?
4CIE4801: Congested assignmentIntroduction congested assignmentTrip production /Trip attractionTrip distributionModal splitPeriod of dayAssignmentZonal dataTransportnetworksTravelresistancesTrip frequencychoiceDestinationchoiceModechoiceTimechoiceRoutechoiceTravel timesnetwork loadsetc.!
5CIE4801: Congested assignmentWhat do we want to know?
6CIE4801: Congested assignment2.General network assignment problem
8CIE4801: Congested assignmentNetwork assignment variablesijTaijrαatijrTijrβijrtaqΘOD travel demandlink-route incidence matrix(assignment map)link travel timeflow dispersion parameterof the stochastic componentroute flowroute choice proportionroute travel timelink flowINPUT OUTPUT( )a at q link travel time functionat link travel time
9CIE4801: Congested assignmentRelationships between variables1. Link travel times at( )a a at t q=ataq2. Route choice proportions ijrβ( , )ijr ijr ijrtβ β= Θ3. Route travel times tijraijr ijr aat tα= ∑4. Route flowsijr ijr ijT Tβ=Tijr5. Link flows aqaa ijr ijri j rq Tα= ∑∑∑atijrtaijrαaqijrTijTijrβΘ( )at ⋅
10CIE4801: Congested assignmentLink performance functionsataqaCcapacityDavidson BPR0( ) 1 aa a aaqt q tCβα⎛ ⎞⎛ ⎞⎜ ⎟= + ⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠AON0( )a a at q t=
11CIE4801: Congested assignmentAssignment typesijTaijrα( )a at q?ΘinputsatijrtaijrαaqijrTijTijrβΘ( )at ⋅( )a at q Θ( )a at q( )a at qatat0>0=0>0=SUEDUEStoch.AON
12CIE4801: Congested assignmentStochastic assignment: reprise1. Link travel times at0a at t=2. Route choice proportions ijrβ( , )ijr ijr ijrtβ β= Θ3. Route travel times ijrtaijr ijr aat tα= ∑4. Route flowsijr ijr ijT Tβ=ijrT5. Link flows aqaa ijr ijri j rq Tα= ∑∑∑atijrtaijrαaqijrTijTijrβΘ( ), aa a tt N t σ=What about probit?
13CIE4801: Congested assignment3.1DUE: Deterministic user equilibriumassignment
14CIE4801: Congested assignmentRoute choice with congestion effects10.000ijT =i j1 5.000C =2C = ∞01 10 min.t =02 15 min.t =When congestion is taken into account,how long will the trip from i to j take along route 1? 15 min.!DUE
15CIE4801: Congested assignmentDUE assignment1. Link travel times at( )a a at t q=2. Route choice proportions ijrβ( )ijr ijr ijrtβ β=3. Route travel times ijrtaijr ijr aat tα= ∑4. Route flowsijr ijr ijT Tβ=ijrT5. Link flows aqaa ijr ijri j rq Tα= ∑∑∑atijrtaijrαaqijrTijTijrβ( )at ⋅
16CIE4801: Congested assignmentMain principleDeterministic user-equilibrium (DUE) takescongestion effects into account and is defined as:All travellers choose their optimal route,such that no traveller can improve his/hertravel time by unilaterally changing routes.This equilibrium is reached if the following condition holds:All used routes have the same travel timewhich is not greater than the travel timeon any unused route.Wardrop’s first principleWardrop’s equilibrium law
20CIE4801: Congested assignmentDUE assignment: Mathematicalformulation1q1t2q2tWhat is the objective function?0min ( )aaqaxqat x dx=∑∫
21CIE4801: Congested assignment0min ( )aaqaxqat x dx=∑∫subject to: ,0 , ,ijr ijraa ijr ijri j rijrT T i jq T aT i j rα= ∀= ∀≥ ∀∑∑∑∑(flow conservation)(definition)(nonnegativity)non-linear programming problemMathematical programming formulation
22CIE4801: Congested assignmentEverything in time?People do not only decide on travel times,but may also take other factors into account:• fuel costs• toll costs• ... etcHow to take these factors into account?0min ( )aaqaxqac x dx=∑∫Replace with generalized costs( )a at q ( )a ac qFor example, ( ) ( )a a a a ac q t qα θ= ⋅ +value-of-time (VOT) travel time toll
24CIE4801: Congested assignmentKey point assignment problemFlowsLink costsPath costsFixed point problemGeneral solution scheme:• Start with an assumption on e.g. link costs• Follow the arrows until convergence is achievedLinkflowsLink costsPath costsRouteflows
25CIE4801: Congested assignmentSolution principle1. Set flows of all links equal to 02. Determine link costs based on the link flows• Thus start with free flow travel times3. Perform an assignment (AON or MR)4. Determine link flows5. Return to step 2Different approaches for step 4• Naive: Repeat again and again• Simple: Average flows with previous results (1/n)• Smart: Average with optimal step sizesDon’tMSAFrank-Wolfe
27CIE4801: Congested assignmentSolving the DUE assignment problemA nonlinear programming problem can be solved usinga steepest descent algorithm.The convex combinations algorithm, also known as theFrank-Wolfe algorithm (1956), is the most commonalgorithm to solve the DUE assignment problem.Main principle:• Find an initial feasible solution• Linearise the objective function• Find a new intermediate solution• Determine a new solution in the direction of theintermediate solution• Iterate until the new solution does not change anymore
28CIE4801: Congested assignmentFrank-Wolfe algorithm: step 10min ( )aaqaxqaZ t x dx== ∑∫subject to: ,0 , ,ijr ijraa ijr ijri j rijrT T i jq T aT i j rα= ∀= ∀≥ ∀∑∑∑∑(1)(2)(3)(4)Step 1: Find an initial feasible solution (iteration 1)We have to find a solution that satisfiesconstraints (2), (3), and (4).An AON assignment yields a feasible solution(1)q
29CIE4801: Congested assignmentFrank-Wolfe algorithm: step 20min ( )aaqaxqaZ t x dx== ∑∫subject to: ,0 , ,ijr ijraa ijr ijri j rijrT T i jq T aT i j rα= ∀= ∀≥ ∀∑∑∑∑(1)(2)(3)(4)Step 2: Linearise the objective function (iteration i)( )( ) ( ) ( )( ) ( ) ( )( )( ) ( ) ( )( ) ( )( )ii i ia aa ai i ia a a aaZ qZ w Z q w qqZ q t q w q∂= + −∂= + −∑∑%(first-order expansion Taylor polynomial)
30CIE4801: Congested assignmentFrank-Wolfe algorithm: step 30min ( )aaqaxqaZ t x dx== ∑∫subject to: ,0 , ,ijr ijraa ijr ijri j rijrT T i jq T aT i j rα= ∀= ∀≥ ∀∑∑∑∑(1)(2)(3)(4)Step 3: Solve the linearised problem (iteration i)( ) ( )( )( ) ( ) ( ) ( )( ) ( )min ( ) min ( ) ( )( )min ( )i ia aiai i i ia a a aw w ai ia a aw aZ w Z q t q w qt q w⎧ ⎫= + −⎨ ⎬⎩ ⎭=∑∑%subject to (2), (3), and (4)
31CIE4801: Congested assignmentFrank-Wolfe algorithm: step 40min ( )aaqaxqaZ t x dx== ∑∫subject to: ,0 , ,ijr ijraa ijr ijri j rijrT T i jq T aT i j rα= ∀= ∀≥ ∀∑∑∑∑(1)(2)(3)(4)Step 4: Find the new solution (iteration i)( ) ( ) ( ) ( )0 1argmin ( ( ))i i i iZ q w qαα α≤ ≤= + −%( 1) ( ) ( ) ( ) ( )( )i i i i iq q w qα+⇒ = + −%
32CIE4801: Congested assignmentFrank-Wolfe algorithmStep 1: i:=1. Set (assume empty network)Step 2: Perform a shortest-path AON assignment based onyielding link flowsStep 3: Compute new solutionwithStep 4: If no convergence yet, set i:=i+1 and return to Step 2.N.B. Using is called:Method of Successive Averages (MSA)( )0iaq =( ) ( )( )i ia a at t q=( 1) ( ) ( ) ( ) ( )( )i i i i ia a a aq q w qα+= + −( )iaw( )1/iiα =( ) ( ) ( ) ( )0 1argmin ( ( ))i i i iZ q w qαα α≤ ≤= + −%
33CIE4801: Congested assignment• Number of iterations• Equality of path costs• Successive link flows (FA):• Duality gapi.e. total travel time based on links minus total travel timebased on (latest) shortest pathsConvergence criteria( )1 1/i i iq q q d− −− <i i ia a od oda o dt q T τ⋅ − ⋅∑ ∑∑
37CIE4801: Congested assignmentLink based versus route based• Previous slides all referred to a link based formulation• i.e. repetitive tree searches• What if you have a set of possible routes?• Then there’s no need to search for routes at each MSA-step
38CIE4801: Congested assignmentRoute based approach:Generic procedureNetworkRoute setRoute costsChoice model (AON/MR)Link flowsLink costs
39CIE4801: Congested assignmentGeneric solution schemeRoute flow averaging1. Specify routes/choice sets2. Calculate path costs3. Assign OD (AON)=> route flows4. Recalculate route flows (MSA)5. Calculate link flows6. Check convergence7. Go to step 2 or stop( )1 1/where = route flow of the intermediate solutioni i i ir r r rirq q w q iw− −= + −
41CIE4801: Congested assignment• Number of iterations• Successive path flows• Equality of path costs• Successive link flows (FA):• Successive link costs (CA)• Duality gapConvergence criteria( )1 1/i i iq q q d− −− <i i ia a od oda o dt q T τ⋅ − ⋅∑ ∑∑
42CIE4801: Congested assignmentBenefits of a route-based approach• Full control of routes that are used• Freedom in route choice modelling (see SUE)• Overlapping routes can explicitly be dealt with• Reduced computational efforts in equilibrium assignment• Suitable for all kind of network concepts e.g. multimodalnetworks• Why isn’t route-based assignment used in practice?
43CIE4801: Congested assignment4.SUE: Stochastic user equilibriumassignment
44CIE4801: Congested assignmentStochastic user equilibrium• Combination of two concepts• Congestion: travel time is function of flow=> equilibrium modelling• Perception: travellers consider a set of routes=> route choice• Adjustment WardropAll travellers choose their optimal route, such that no traveller canimprove his/her perceived travel time by unilaterally changingroutes.
45CIE4801: Congested assignmentStochastic equilibrium assignment1. Link travel times at( )a a at t q=2. Route choice proportions ijrβ( , )ijr ijr ijrtβ β= Θ3. Route travel times tijraijr ijr aat tα= ∑4. Route flowsijr ijr ijT Tβ=Tijr5. Link flows aqaa ijr ijri j rq Tα= ∑∑∑atijrtaijrαaqijrTijTijrβΘ( )at ⋅
46CIE4801: Congested assignmentGeneric solution schemeRoute flow averaging1. Specify paths/choice sets2. Calculate path costs3. Assign OD (Logit, Probit)=> route flows4. Recalculate route flows (MSA)5. Calculate link flows6. Check convergence7. Go to step 2 or stop( )1 1/where = route flow of the intermediate solutioni i i ir r r rirq q w q iw− −= + −
48CIE4801: Congested assignment1. Specify paths/choice sets2. Calculate path costs3. Assign OD (Probit, Logit)=> route flows4. Calculate link flows5. Recalculate link flows (MSA)6. Check convergence7. Go to step 2 or stop( )1 1/where = link flow of the intermediate solutioni i i ia a a aiaq q w q iw− −= + −Alternative solution schemeLink flow averaging
50CIE4801: Congested assignmentWhen to use what?• From a behavioural perspective it is better to model route choice• Note that relatively coarse zones might be an argument as well• In case of congestion it is obvious to model congestion as well• So preferred techniques are stochastic assignment for off peakand SUE for peak periods• Note that for a 24-hour period a stochastic assignment might besuitable as well• However, in practice AON and DUE are preferred forcomputational reasons
51CIE4801: Congested assignmentRoute based and link basedassignment techniques• Route based assignment has clear advantages compared to linkbased techniques• More control on the quality of the routes used• Possibility to use advanced choice modelling techniques• No need for repetitive path searches during assignment• In practice mostly link based techniques are applied• This is partly a lock-in phenomenon• Nearly all software packages use a link based algorithm• Conservatism plays a role as well• The a-priori choice set generation might not have all relevant routes…
52CIE4801: Congested assignmentUniqueness of DUE• It can be shown that the travel time of a DUE is unique• However, the flows that lead to these travel times need not to beunique• For example, in case of multiple OD-pairs using two parallel routeparts, the flows can be split up in any way you like as long as thetotal flows per route part remain constant (i.e. according to theDUE assignment)
54CIE4801: Congested assignmentSpecial topics• Trucks• Uniqueness of DUE• Convergence speed DUE and SUE• Duality gap SUE• Frank-Wolfe or MSA?• Values for parameters in BPR• Where’s the congestion?
55CIE4801: Congested assignmentTrucksThree options• Sum the OD-matrices of car and truck into OD-matrix vehicles orusing a PCU-value• Assign trucks before performing equilibrium assignment, e.g.using multiple routing, and use the flows as a preload (PCU!)• Assign trucks and cars simultaneously (again using a PCU-value),i.e. multi-user class assignment
56CIE4801: Congested assignmentUniqueness of DUE• It can be shown that the travel time of a DUE is unique• However, the flows that lead to these travel times need not to beunique• For example, in case of multiple OD-pairs using two parallel routeparts, the flows can be split up in any way you like as long as thetotal flows per route part remain constant (i.e. according to theDUE assignment)
57CIE4801: Congested assignmentConvergence speed DUE and SUE• In an equilibrium assignment you distribute traffic over a set ofroutes• In a DUE you have a single route per MSA-step, in a SUE youhave multiple routes per MSA-step=> SUE needs less MSA-steps• However, if you use a Probit for SUE, you need iterations for asingle MSA-step=>SUE with Probit takes more computation time=> SUE with Logit is faster than DUE
58CIE4801: Congested assignmentDuality gap SUE• Duality gap in words:total travel time based on links minus total travel time based on(latest) shortest paths• For DUE the duality gap should become zero (Wardrop principle)• In a SUE travellers opt routes that are longer but they perceive tobe shortest=> Total travel time for SUE is higher than for DUE=> Duality gap > 0
59CIE4801: Congested assignmentFrank-Wolfe or MSA• Frank-Wolfe algorithm is a generic mathematical tool• Theoretically it is only justified if the travel time on a link is afunction of the flow on the link=> so what about intersections?• MSA is a pragmatic approach, which proves to be rather robust
60CIE4801: Congested assignmentValues for parameters in BPR• BPR-function:• Commonly mentioned values:• However, function differs per road type:e.g. 0.15 is used for freeways, for regional and urban roads highervalues are more suitable0( ) 1 aa a aaqt q tCβα⎛ ⎞⎛ ⎞⎜ ⎟= + ⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠0.15 4andα β= =
61CIE4801: Congested assignmentWhere’s the congestion?• Net result of assignment: network with flows• Common unit for analysis: flow-capacity (q/c) ratio• For which q/c-ratio there is congestion?• Practice:q/c-ratio > 0.85: congestion(N.B. q represent average flow, thus q/c=1 implies 50% congestion)• Where’s the queue?• Link having low capacity and not in front of that link
62CIE4801: Congested assignment6.Reprise Probit and logit
63CIE4801: Congested assignmentProbit and Logit• Let’s first go back to discrete choice theory
64CIE4801: Congested assignmentDiscrete choice theoryi i iU V ε= +Definitions:Each alternative i has an objective/observable utilityEach individual faces a subjective non-observed utilityfor each alternative i.iViεUtility of alternative i for each individual:Behavior:An individual will choose alternative i if this alternativehas the highest utility, i.e. iffor alli jU U j≥
65CIE4801: Congested assignmentDiscrete choice theory( for all )i i jp P U U j= ≥( for all )i i j jP V V jε ε= + ≥ +( for all )j i i jP V V jε ε= − ≤ −Probit-model.ip =KeeijVi Vjpµµ=∑Logit-modelIf ’s are allGumbel distributed(independent, withscale parameter ),iεµIf ’s are allnormally distributed(independent),iεEasy to solve Can only be solvedby simulation
66CIE4801: Congested assignmentProbit and logit in transport models• Note that discussion so far is independent on type of choice• Modelling practice:• Demand modelling: dominated by logit• Assignment: Probit or logit• In case of assignment the link is the basic element, thus the errorterm is defined at link level• In this case normal distribution is the most likely assumption
67CIE4801: Congested assignmentHow is the probit assignment solved?• Iteratively, using MSA approach• In each iteration a specific network state is consideredi.e. a network having specific link times• These link times are sampled from the distributions that areassumed at link level• Consequence is that overlapping routes in a specific network stateare consistent
69CIE4801: Congested assignmentSwitch from link level to route level1 (15,2)rt N=2 (15,2)rt N=State 1State 21 15.85rt =2 14.24rt =1 16.78rt =2 13.57rt =Differences between routes ismuch larger due to (implicit)different assumption for timeof link 1 within a given state
70CIE4801: Congested assignmentProbit and logit at route level• For the error term at route level both Gumbell distribution(=>logit) or normal distribution (=> probit) can be assumed• In both cases the same error is made:in case of overlapping routes consistency within a network state isnot guaranteed• However, logit is much easier to compute…..• Today, there are advanced logit models that can correct foroverlap