  Consider a setting where selfish agents are to be assigned to coalitions or
projects from a fixed set P. Each project k is characterized by a valuation
function; v_k(S) is the value generated by a set S of agents working on project
k. We study the following classic problem in this setting: "how should the
agents divide the value that they collectively create?". One traditional
approach in cooperative game theory is to study core stability with the
implicit assumption that there are infinite copies of one project, and agents
can partition themselves into any number of coalitions. In contrast, we
consider a model with a finite number of non-identical projects; this makes
computing both high-welfare solutions and core payments highly non-trivial.
  The main contribution of this paper is a black-box mechanism that reduces the
problem of computing a near-optimal core stable solution to the purely
algorithmic problem of welfare maximization; we apply this to compute an
approximately core stable solution that extracts one-fourth of the optimal
social welfare for the class of subadditive valuations. We also show much
stronger results for several popular sub-classes: anonymous, fractionally
subadditive, and submodular valuations, as well as provide new approximation
algorithms for welfare maximization with anonymous functions. Finally, we
establish a connection between our setting and the well-studied simultaneous
auctions with item bidding; we adapt our results to compute approximate pure
Nash equilibria for these auctions.
