We consider the operation of a multi-functional surface mounting device(SMD) which mounts various components provided by diverse types of feeders such as cassette, stick, and tray on a printed circuit board(PCB). The problem is to minimize the time needed to assemble a PCB using the SMD. We decompose the problem into two subproblems, which are determining the allocation of component feeders and the mounting sequence of components, respectively. We propose heuristic algorithms to solve the subproblems and discuss the procedure to improve the solution. Computational results an real world problems are presented. (C) 1997 Elsevier Science Ltd.