  There are many familiar situations in which a manager seeks to design a
system in which users share a resource, but outcomes depend on the information
held and actions taken by users. If communication is possible, the manager can
ask users to report their private information and then, using this information,
instruct them on what actions they should take. If the users are compliant,
this reduces the manager's optimization problem to a well-studied problem of
optimal control. However, if the users are self-interested and not compliant,
the problem is much more complicated: when asked to report their private
information, the users might lie; upon receiving instructions, the users might
disobey. Here we ask whether the manager can design the system to get around
both of these difficulties. To do so, the manager must provide for the users
the incentives to report truthfully and to follow the instructions, despite the
fact that the users are self-interested. For a class of environments that
includes many resource allocation games in communication networks, we provide
tools for the manager to design an efficient system. In addition to reports and
recommendations, the design we employ allows the manager to intervene in the
system after the users take actions. In an abstracted environment, we find
conditions under which the manager can achieve the same outcome it could if
users were compliant, and conditions under which it does not. We then apply our
framework and results to design a flow control management system.
