  Congestion externalities are a well-known phenomenon in transportation and
communication networks, healthcare etc. Optimization by self-interested agents
in such settings typically results in equilibria which are sub-optimal for
social welfare. Pigouvian taxes or tolls, which impose a user charge equal to
the negative externality caused by the marginal user to other users, are a
mechanism for combating this problem. In this paper, we study a non-atomic
congestion game in which heterogeneous agents choose amongst a finite set of
heterogeneous servers. The delay at a server is an increasing function of its
load. Agents differ in their sensitivity to delay. We show that, while selfish
optimisation by agents is sub-optimal for social welfare, imposing admission
charges at the servers equal to the Pigouvian tax causes the user equilibrium
to maximize social welfare. In addition, we characterize the structure of
welfare optimal and of equilibrium allocations.
