The need of optimal partition arises from many real-world problems involving the distribution of limited resources to many users. The "clustering" problem, which has recently received a lot of attention, is a special case of optimal partitioning. This book is the first attempt to collect all theoretical developments of optimal partitions, many of them derived by the authors, in an accessible place for easy reference. Much more than simply collecting the results, the book provides a general framework to unify these results and present them in an organized fashion.Many well-known practical problems of optimal partitions are dealt with. The authors show how they can be solved using the theory - or why they cannot be. These problems include: allocation of components to maximize system reliability; experiment design to identify defectives; design of circuit card library and of blood analyzer lines; abstraction of finite state machines and assignment of cache items to pages; the division of property and partition bargaining as well as touching on those well-known research areas such as scheduling, inventory, nearest neighbor assignment, the traveling salesman problem, vehicle routing, and graph partitions. The authors elucidate why the last three problems cannot be solved in the context of the theory.