In this talk we consider the cell formation problem with a fractional objective function. This problem consists in finding the optimal partitioning of machines and parts into groups (production cells, or shops), in order to minimize the inter-cell movement of parts from one cell to another and to maximize intra-cell processing operations. The problem belongs to the class of NP-hard combinatorial optimization problems. The number of feasible solutions of the problem is growing very rapidly with size (the number of machines and parts). In this talk we present a new branch-and-bound algorithm for the cell formation problem. We suggest a novel way of branching, and also an efficient upper bound, which allows us to reduce the search tree size significantly.