  We revisit the coalition structure generation problem in which the goal is to
partition the players into exhaustive and disjoint coalitions so as to maximize
the social welfare. One of our key results is a general polynomial-time
algorithm to solve the problem for all coalitional games provided that player
types are known and the number of player types is bounded by a constant. As a
corollary, we obtain a polynomial-time algorithm to compute an optimal
partition for weighted voting games with a constant number of weight values and
for coalitional skill games with a constant number of skills. We also consider
well-studied and well-motivated coalitional games defined compactly on
combinatorial domains. For these games, we characterize the complexity of
computing an optimal coalition structure by presenting polynomial-time
algorithms, approximation algorithms, or NP-hardness and inapproximability
lower bounds.
