  We introduce a new model of combinatorial contracts in which a principal
delegates the execution of a costly task to an agent. To complete the task, the
agent can take any subset of a given set of unobservable actions, each of which
has an associated cost. The cost of a set of actions is the sum of the costs of
the individual actions, and the principal's reward as a function of the chosen
actions satisfies some form of diminishing returns. The principal incentivizes
the agents through a contract, based on the observed outcome.
  Our main results are for the case where the task delegated to the agent is a
project, which can be successful or not. We show that if the success
probability as a function of the set of actions is gross substitutes, then an
optimal contract can be computed with polynomially many value queries, whereas
if it is submodular, the optimal contract is NP-hard. All our results extend to
linear contracts for higher-dimensional outcome spaces, which we show to be
robustly optimal given first moment constraints.
  Our analysis uncovers a new property of gross substitutes functions, and
reveals many interesting connections between combinatorial contracts and
combinatorial auctions, where gross substitutes is known to be the frontier for
efficient computation.
