This paper considers a generalized knapsack problem where the required sets of activities are not necessarily mutually exclusive. This problem appears in several applications including the capital budgeting problem, FMS production planning problem and database design problem. We formulate this problem as a nonlinear knapsack problem with polynomial objective function. After linearizing the nonlinear terms, we analyze the polyhedral structure of the convex hull of integral feasible solutions. Some classes of strong valid inequalities for this polytope are suggested. We show that these inequalities can define facets of the polytope under certain conditions. Additionally, we show that some subset of these inequalities is sufficient to cut off all the fractional vertices of the natural linear programming relaxation. Using these polyhedral results, we develop a strong cutting plane algorithm for the problem. The algorithm is tested on several sets of test problems. The computational result shows that this algorithm can be used to solve proatical problems in reasonable time. Moreover, this approach can be generalized to the cases where more than one type of resource constraints are needed.