  When selfish users share a road network and minimize their individual travel
costs, the equilibrium they reach can be worse than the socially optimal
routing. Tolls are often used to mitigate this effect in traditional congestion
games, where all vehicle contribute identically to congestion. However, with
the proliferation of autonomous vehicles and driver-assistance technology,
vehicles become heterogeneous in how they contribute to road latency. This
magnifies the potential inefficiencies due to selfish routing and invalidates
traditional tolling methods. To address this, we consider a network of parallel
roads where the latency on each road is an affine function of the quantity of
flow of each vehicle type. We provide tolls (which differentiate between
vehicle types) which are guaranteed to minimize social cost at equilibrium. The
tolls are a function of a calculated optimal routing; to enable this tolling,
we prove that some element in the set of optimal routings has a lack of cycles
in a graph representing the way vehicles types share roads. We then show that
unless a planner can differentiate between vehicle types in the tolls given,
the resulting equilibrium can be unboundedly worse than the optimal routing,
and that marginal cost tolling fails in our setting.
