The assignment of personnel to teams is a fundamental managerial function typically involving several objectives and a variety of idiosyncratic practical constraints. Despite the prevalence of this task in practice, the process is seldom approached as an optimization problem over the reported preferences of all agents. This is due in part to the underlying computational complexity that occurs when intra‐team interpersonal interactions are taken into consideration, and also due to game‐theoretic considerations, when those taking part in the process are self‐interested agents. Variants of this fundamental decision problem arise in a number of settings, including, for example, human resources and project management, military platooning, ride sharing, data clustering, and in assigning students to group projects. In this article, we study an analytical approach to “team formation” focused on the interplay between two of the most common objectives considered in the related literature: economic efficiency (i.e., the maximization of social welfare) and game‐theoretic stability (e.g., finding a core solution when one exists). With a weighted objective across these two goals, the problem is modeled as a bi‐level binary optimization problem, and transformed into a single‐level, exponentially sized binary integer program. We then devise a branch‐cut‐and‐price algorithm and demonstrate its efficacy through an extensive set of simulations, with favorable comparisons to other algorithms from the literature.