Papers
Topics
Authors
Recent
Search
2000 character limit reached

Perturbed Utility Route Choice (PURC)

Updated 9 July 2026
  • Perturbed Utility Route Choice (PURC) is a network-based model that assigns link flows based on utility maximization with flow conservation constraints.
  • It incorporates a convex perturbation function to induce overlap-dependent substitution, allowing for zero flows on less attractive links without route set enumeration.
  • PURC supports sensitivity analysis and equilibrium assignment, with empirical validation on large-scale networks and applications in mobility hub design.

Searching arXiv for the core PURC paper and a few later developments to ground the article in current arXiv literature. Perturbed Utility Route Choice (PURC) is a route choice model in which traveler behavior is represented as a utility-maximizing assignment of flow over an entire network subject to flow conservation. For a single origin–destination demand, the decision variable is a nonnegative link-flow vector rather than a probability on an enumerated route set, and the objective combines linear link utility with a convex perturbation that discourages concentration of flow on few links. In the original formulation, this yields overlap-dependent substitution across routes, allows corner solutions with zero flows on many links, avoids route choice set generation, admits estimation by linear regression, and supports prediction by convex optimization on large networks (Fosgerau et al., 2021). Subsequent work has extended PURC toward equilibrium assignment algorithms, sensitivity analysis, convex duality, and bilevel design applications (Yao et al., 2023, Fosgerau et al., 2024, Fosgerau et al., 22 Apr 2026, Yang et al., 18 Aug 2025).

1. Network-native formulation

PURC is defined on a directed network G=(V,E)G=(\mathcal{V},\mathcal{E}) with node set V\mathcal{V} and link set E\mathcal{E}. The node–link incidence matrix AA has entries ave=−1a_{ve}=-1 if link ee leaves node vv, ave=1a_{ve}=1 if link ee enters node vv, and V\mathcal{V}0 otherwise. For a given origin V\mathcal{V}1 and destination V\mathcal{V}2, the OD demand vector V\mathcal{V}3 is defined by V\mathcal{V}4, V\mathcal{V}5, and zeros elsewhere, and PURC solves a separate assignment for each OD pair. Link V\mathcal{V}6 has length V\mathcal{V}7, observed attributes V\mathcal{V}8, and deterministic utility rate V\mathcal{V}9, with all E\mathcal{E}0 negative because they represent disutility such as time or generalized cost (Fosgerau et al., 2021).

The traveler chooses nonnegative link flows E\mathcal{E}1 subject to flow conservation E\mathcal{E}2. The utility function is

E\mathcal{E}3

where E\mathcal{E}4 applies a scalar convex function componentwise and sums with length weights. The assumptions are that E\mathcal{E}5 is strictly convex and satisfies E\mathcal{E}6. A specific functional form used in the original paper is the modified entropy

E\mathcal{E}7

This choice is reported to ensure strict convexity, satisfy E\mathcal{E}8, and yield good empirical fit (Fosgerau et al., 2021).

A distinctive property of the specification is invariance to link splitting. Because every term in E\mathcal{E}9 is weighted by link length AA0, splitting a link into contiguous pieces preserves utility and predictions. The original paper presents this as robustness to introducing dummy nodes, which makes the model insensitive to a common representation artifact in network construction (Fosgerau et al., 2021).

2. Optimization structure and overlap-dependent substitution

PURC solves the concave program

AA1

With Lagrange multipliers AA2, the first-order conditions for active links AA3 with AA4 are

AA5

Since AA6 is increasing, the original paper interprets higher-flow links as requiring smaller flow adjustments to re-satisfy the first-order conditions when utilities change; this is the mechanism controlling substitution strength across links (Fosgerau et al., 2021).

Although PURC is posed in link space, any flow-conserving link flow can be expressed as a mixture over loop-free routes between the OD pair. Let AA7 denote the finite set of loop-free routes and AA8 the route-flow mixture. The equivalent route-space representation is

AA9

with

ave=−1a_{ve}=-10

The perturbation term for a link depends on the total probability mass assigned to routes that use that link. The resulting behavioral implication is that all routes are substitutes, and substitution is stronger the more links they share. The paper presents this as an endogenous overlap mechanism derived from the network and the convex perturbation, rather than from an ad hoc path-size correction (Fosgerau et al., 2021).

This distinguishes PURC from route logit models with explicit choice sets. The original formulation states that there is no closed-form logit formula at the route level, and no need for dynamic programming or Bellman equations. It also distinguishes PURC from stochastic user equilibrium formulations in which the convex term represents congestion; in PURC, the perturbation is part of preferences. The model therefore remains a representative-agent assignment over a single OD at a time, while still allowing many zero flows on links where ave=−1a_{ve}=-11 does not bind locally (Fosgerau et al., 2021).

3. Estimation without route choice set generation

Direct estimation from the first-order conditions is hindered by OD-specific Lagrange multipliers. The original paper removes these multipliers using a Moore–Penrose inverse of ave=−1a_{ve}=-12, where ave=−1a_{ve}=-13 selects rows of links used and can also drop small positive flows to reduce noise. With

ave=−1a_{ve}=-14

the transformed first-order condition becomes

ave=−1a_{ve}=-15

For each OD pair, the transformed dependent vector and regressor matrix are

ave=−1a_{ve}=-16

which leads to the linear regression

ave=−1a_{ve}=-17

Under mean-zero, OD-independent noise terms, with heteroskedasticity allowed, OLS with robust standard errors consistently estimates ave=−1a_{ve}=-18 (Fosgerau et al., 2021).

A central feature of this procedure is that no route choice set enumeration is required. Estimation uses observed or reconstructed link flows ave=−1a_{ve}=-19 only. The paper further states that computational complexity is independent of the number of individual trips per OD and scales linearly in the number of ODs because the main cost is computing ee0 for each OD. In the reported Matlab implementation, computing ee1 took under ee2 seconds per OD (Fosgerau et al., 2021).

Three specifications were estimated on the Copenhagen data. Model A used ee3 and obtained adjusted ee4. Model B added a constant for links with outdegree at least ee5, interpreted as a penalty for entering intersections, and obtained adjusted ee6. Model C interacted pace with road-type dummies such as motorways, ramps, urban, and rural, and obtained adjusted ee7. The paper reports that all coefficients had intuitive signs and were precisely estimated (Fosgerau et al., 2021).

Later estimation work on perturbed utility models generalizes the convex-analytic side of this problem. A Fenchel–Young framework defines the loss

ee8

with gradient ee9, and establishes global convexity and bounded gradients for perturbed utility estimation. A Wasserstein distributionally robust extension is then used to connect vv0-regularization and margin-enforcing hinge losses to the same framework (Lin et al., 24 Feb 2026). This suggests a broader statistical agenda for PURC-type models beyond OLS in the original link-flow formulation.

4. Empirical validation on the Greater Copenhagen road network

The original empirical study used a large map-matched GPS dataset from the Greater Copenhagen road network. The raw data comprised vv1 GPS points and vv2 trips over three months on a network with vv3 links and vv4 nodes. After trimming trips to common pseudo-OD nodes and removing non-sensical observations, the estimation set comprised vv5 OD pairs and vv6 trips (Fosgerau et al., 2021).

The fitted model is reported to predict realistic network-wide flow patterns, many unused links, and overlap-aware substitution. For a sample OD from the airport to the Technical University of Denmark, the model identifies two main corridors, described as a western motorway bypass versus inner-city alternatives, and adapts their usage as vv7 varies. Summed over all ODs, predicted link flows closely matched observed flows, with adjusted vv8 between predicted and observed total link counts (Fosgerau et al., 2021).

The paper also emphasizes sparsity in predicted use. It reports vv9 links unused in predictions versus ave=1a_{ve}=10 unused in observations, with ave=1a_{ve}=11 overlap between the two unused sets. For OD-specific active sets, about ave=1a_{ve}=12 of observed trips lie completely within the predicted active links, and nearly all observed trips have less than ave=1a_{ve}=13 of utility outside the predicted active sets. These results are presented as evidence that PURC does not merely smooth probability mass across the network but can produce zero flows on implausible or unattractive segments (Fosgerau et al., 2021).

The overlap mechanism is also illustrated by a perturbation experiment on the Kalvebod bridge. Increasing travel time on that link by ave=1a_{ve}=14 minutes shifts flow toward routes that share links with the affected routes more than toward distant alternatives. The paper uses this example to demonstrate network-induced substitution rather than route-level independence (Fosgerau et al., 2021).

5. Computational, dual, and sensitivity developments

Subsequent work has developed PURC into a larger computational framework. For stochastic traffic assignment, one paper formulates the equilibrium PURC assignment problem as a convex minimization problem, derives a closed-form stochastic network loading expression, and solves the dual with a quasi-Newton accelerated gradient descent algorithm, qN-AGD*. Numerical evidence in that paper states that qN-AGD* clearly outperforms a conventional primal algorithm and a plain accelerated gradient descent algorithm, and that runtime scales about linearly with problem size. Reported runtimes include ave=1a_{ve}=15 seconds for Sioux Falls, ave=1a_{ve}=16 for Anaheim, ave=1a_{ve}=17 for Berlin Central, and ave=1a_{ve}=18 for Chicago Sketch (Yao et al., 2023).

A general convex duality treatment later recasts PURC as a constrained convex program in link flows with a separable perturbation ave=1a_{ve}=19, and shows that the dual problem is an unconstrained concave maximization

ee0

Under the stated conditions, the unique optimal flow is recovered link by link via

ee1

That paper presents the smooth dual objective as the basis for efficient gradient-based optimization and fast computation for sensitivity analysis, and develops a structural analogy between PURC and current flow in electrical circuits (Fosgerau et al., 22 Apr 2026).

Sensitivity analysis has also been made explicit. For the individual PURC program

ee2

one later paper derives the Jacobian of the optimal expected link-flow vector with respect to link costs:

ee3

This paper states that the entries of the Jacobian quantify the marginal responses of expected link flows to marginal cost changes anywhere in the active network. It further shows that if the active network for an OD is tree-shaped, then all active paths are substitutes, while complementarity can occur in more general networks. The same paper identifies an Erratum to an earlier proposition that had claimed general path-level substitutability under PURC, attributing the problem to non-unique decomposition of link flows into path flows (Fosgerau et al., 2024).

6. Comparative position, applications, and limitations

Within route choice modeling, PURC occupies a specific position. Compared with multinomial logit on enumerated routes, it does not require route choice set generation and does not impose route-level IIA in the same manner. Compared with path-size logit and APSL, it does not require computation of path-size factors on an explicit consideration set. Compared with cross-nested logit, it does not require an explicit route set. Compared with recursive logit and its MEV generalizations, it avoids maximum-likelihood estimation with dynamic programming and logsum recursions. Compared with stochastic user equilibrium, it treats the convex perturbation as part of preferences rather than congestion (Fosgerau et al., 2021).

Later applications have used this link-based structure in more elaborate optimization settings. A bilevel mobility hub design model embeds a lower-level PURC assignment with a strictly convex quadratic objective and reformulates the bilevel problem to a single-level program via the KKT conditions of the lower level. Numerical experiments on a toy network and a Long Island Rail Road case with ee4 nodes, ee5 links, and ee6 ODs are reported to attain sub-ee7 optimality gaps in minutes. In that application, the model is used to quantify the social surplus value of a mobility hub, the value of enabling subsidy, and the value of regulating a microtransit operator’s pricing; link-based subsidies are found to be computationally faster, while hub-based subsidies offer an easier mechanism for comparison and control (Yang et al., 18 Aug 2025).

The original PURC paper also states several limitations. Results depend on the chosen functional form for ee8; modified entropy worked well empirically, but other convex forms may be explored. GPS map-matching and aggregation error can make small-flow links noisy, which is one reason for allowing the matrix ee9 to drop small flows. The formulation is static and does not model time dependence or dynamic congestion. There is no explicit congestion or interaction across ODs because flows are assigned per OD representative traveler. Proposed extensions include time-dependent networks, dynamic OD assignment, coupling ODs through congestion, taste heterogeneity, mixture models, and learning or information effects (Fosgerau et al., 2021).

A common misconception is to treat PURC as merely a link-based implementation of path logit. The original formulation does not do this: it estimates on link flows, predicts by convex optimization, allows zero flows on unrealistic links, and derives overlap-dependent substitution from the perturbation and the network itself rather than from route enumeration. Subsequent dual, equilibrium, and sensitivity results reinforce that the natural analytical domain of PURC is link space rather than an explicit list of alternatives (Fosgerau et al., 2021, Fosgerau et al., 22 Apr 2026, Fosgerau et al., 2024).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Perturbed Utility Route Choice (PURC).