We consider the block scheduling problem arising in a shipyard. The problem is complicated since we are considering both scheduling and spatial allocation of each block simultaneously. Moreover, varying conditions in several work spaces should be reflected. We develop a scheduling algorithm using partial enumeration and decomposition. An efficient heuristic search procedure for the spatial allocation of blocks is also devised. Copyright (C) 1996 Elsevier Science Ltd