This paper introduces a solution algorithm derived and based on branch-and-bound procedures to solve a generally-classified resource-constrained project scheduling problem where various operating modes are allowed to perform each activity in the project and all activities are non-preemptive. With the objective of minimizing the makespan of the project, two lower bound computation procedures are derived for the associated tree search algorithm where a depth-first search strategy is employed. An efficient heuristic algorithm for large-size problems is also exploited by using partly the branch-and-bound algorithm. Both algorithms are tested with various numerical problems for their effectiveness and efficiences. Copyright (C) 1997 Elsevier Science Ltd