Abstract This paper presents efficient algorithms for the multiconstraint general knapsack problem. This version of the knapsack problem considers multiple resource constraints and permits multiple (rather than single) units of each item to be placed in the knapsack to maximize the total value of items chosen. Various relaxations of this problem are suggested and the bounds derived from these relaxations are compared. Heuristic procedures for obtaining good feasible solutions are described and computational results with these procedures are reported. Rules for reducing problem size are suggested. An efficient branch and bound code is developed, tested and compared with a state of the art commercial integer programming package. Solution times with this new code are found to be significantly lower than solution times with the commercial code.