Abstract
Given a rooted tree T with profits and node demands, the capacitated subtree of a tree problem (GSTP) consists of finding a rooted subtree of maximum profit, subject to having total demand no larger than the given capacity H. We first define the so-called critical item for CSTP and find an upper bound on the optimal value of CSTP in O(n$^{2}$) time, where n is the number of nodes in T. We then present our branch and bound algorithm for solving CSTP and illustrate the algiruthm by using an example. Finally, we implement our branch-and-bound algorithm and compare the computational results with those for both CPLEX and a dynamic programming algorithm. The comparison shows that our branch-and-bound algorithm performs much better than both CPLEX and the dynamic programming algorithm, where n and H are the range of [50, 500] and [5000, 10000], respectively.