In this paper, a project scheduling problem with multi-modes and a single non-renewable resource is considered. The resource is released in pre-specified times at pre-specified quantities. An activity can be executed at different modes where a mode is defined by a processing time and a resource requirement amount. The objective is to minimize the project completion time. A branch and bound algorithm that enumerates the partial solutions based on the mode assignment decisions is presented. The results of the experiments have revealed that the branch and bound algorithm can solve problem instances with up to 100 activities in reasonable times.