10 Non-linear Programming
When the objective or the constraints are not linear, because of economies of scale, risk, physical laws or diminishing returns, the problem is a non-linear programme: \[ \text {minimise } f(x) \quad \text {subject to}\quad g_i(x) \leq 0 \ (i = 1, \ldots , m), \quad h_k(x) = 0 \ (k = 1, \ldots , p) . \] The optimum need no longer be at a vertex, and there may be many local optima. Two ideas restore order. Convexity makes every local optimum global, as in linear programming. The Karush–Kuhn–Tucker conditions generalise both the Lagrange multipliers of calculus and LP duality: at an optimum the gradient of the objective is a non-negative combination of the gradients of the active constraints, with multipliers that are shadow prices. This section develops both and applies them to quadratic programming and portfolio selection.
10.2 The Karush–Kuhn–Tucker conditions
10.3 Quadratic programming and portfolios
10.4 Algorithms
10.5 Non-linear programming in software
10.6 Practice Problems
Questions on this section
Stuck on something here? Ask below and it stays attached to this topic.