  In the principal-agent problem formulated by Myerson'82, agents have private
information (type) and make private decisions (action), both of which are
unobservable to the principal. Myerson pointed out an elegant linear
programming solution that relies on the revelation principle. This paper
extends Myerson's results to a more general setting where the principal's
action space can be infinite and subject to additional design constraints.
  Our generalized principal-agent model unifies several important design
problems including contract design, information design, and Bayesian
Stackelberg games, and encompasses them as special cases. We first extend the
revelation principle to this general model, based on which a polynomial-time
algorithm is then derived for computing the optimal mechanism for the
principal. This algorithm not only implies new efficient solutions
simultaneously for all the aforementioned special cases but also significantly
simplifies previously known algorithms designed for special cases. Inspired by
the recent interest in the algorithmic design of a single contract and menu of
contracts, we study such constrained design problems to our general
principal-agent model. In contrast to the above unification, our results here
illustrate the other facet of diversity among different principal-agent design
problems and demonstrate how their different structures can lead to different
complexities: some are tractable whereas others are APX-hard. Finally, we
reveal an interesting connection of our model to the problem of information
acquisition for decision making and study its algorithmic properties in
general.
