  An atomic routing game is a multiplayer game on a directed graph. Each player
in the game chooses a path -- a sequence of links that connect its origin node
to its destination node -- with the lowest cost, where the cost of each link is
a function of all players' choices. We develop a novel numerical method to
design the link cost function in atomic routing games such that the players'
choices at the Nash equilibrium minimize a given smooth performance function.
This method first approximates the nonsmooth Nash equilibrium conditions with
smooth ones, then iteratively improves the link cost function via implicit
differentiation. We demonstrate the application of this method to atomic
routing games that model noncooperative agents navigating in grid worlds.
