In this paper a branch-and-bound procedure is described for scheduling project activities subject to precedence diagramming type of precedence relations, ready times, due dates, and variable multiple resource availability constraints, where the objective is to minimize project duration. The procedure is based on a depth-first solution strategy in which nodes in the solution tree represent resource and precedence feasible partial schedules. Branches emanating from a parent node correspond to exhaustive and minimal combinations of activities, the delay of which resolves resource conflicts at each parent node. A precedence based lower bound and several dominance rules are introduced in order to restrict the growth of the solutions tree. The procedure has been programmed in the C language. Extensive computational experience is reported.