The problem of grouping Printed Circuit Board (PCB) components to minimize the total component and PCB loading cost subject to a capacity constraint on the number of types of components per group is formulated as an integer linear programming problem. The problem is shown to be NP-complete. Characteristics of the solution are outlined and a heuristic algorithm is discussed. For the case in which it is optimal to load each PCB exactly once, the solution characteristics can be used to obtain a lower bound on the objective function for any set of constraints on pairs of PCBs that must be produced using the same group of components. The bounds and the heuristic procedure are used to develop a branch and bound algorithm. Computational results are given for four test problems derived from industrial contexts.