  We consider the problem of allocating indivisible goods in a way that is
fair, using one of the leading market mechanisms in economics: the competitive
equilibrium from equal incomes. Focusing on two major classes of valuations,
namely perfect substitutes and perfect complements, we establish the
computational properties of algorithms operating in this framework. For the
class of valuations with perfect complements, our algorithm yields a
surprisingly succinct characterization of instances that admit a competitive
equilibrium from equal incomes.
