We present a survey of algorithms and applications for the nonlinear knapsack problem (or, the nonlinear resource allocation problem). In its most general form, the nonlinear knapsack problem will be defined as a nonlinear optimization problem with just one constraint, bounds on the variables, and, in some cases, a set of specially structured constraints such as generalized upper bounds (GUBs). This problem is encountered either directly, or as a subproblem, in a variety of applications, including production planning, financial modeling, stratified sampling, and capacity planning in manufacturing, health care, and computer networks. By taking advantage of the special structure of the problem, efficient solution methods can be developed. Problem classes addressed here include continuous and integer problems, convex and nonconvex problems, separable and nonseparable problems, and problems with additional specially structured constraints.
Read full abstract