  We consider the principal-agent problem with heterogeneous agents. Previous
works assume that the principal signs independent incentive contracts with
every agent to make them invest more efforts on the tasks. However, in many
circumstances, these contracts need to be identical for the sake of fairness.
We investigate the optimal common contract problem. To our knowledge, this is
the first attempt to consider this natural and important generalization. We
first show this problem is NP-complete. Then we provide a dynamic programming
algorithm to compute the optimal contract in $O(n^2m)$ time, where $n,m$ are
the number of agents and actions, under the assumption that the agents' cost
functions obey increasing difference property. At last, we generalize the
setting such that each agent can choose to directly produce a reward in
$[0,1]$. We provide an $O(\log n)$-approximate algorithm for this
generalization.
