# Nonlinear programming

In mathematics, nonlinear programming (NLP) is the process of solving a system of equalities and inequalities over a set of unknown real variables, along with an objective function to be maximized or minimized.

 Contents

## Mathematical formulation of the problem

The problem can be stated simply as:

[itex]\max_{x \in X}f(x)[itex] to maximize some variable such as product throughput

or

[itex]\min_{x \in X}f(x)[itex] to minimize a cost function

where

[itex]f: R^n \to R[itex]
[itex]X \subseteq R^n.[itex]

## Methods for solving the problem

If the objective function f is linear and the constrained space is a polytope, the problem is a linear programming problem, which may be solved using well known linear programming solutions.

If the objective function is convex in all cost functions (when looking from the "bottom"), the linear programming solutions are also applicable.

Several methods are available for solving nonconvex problems. One approach is to use special formulations of linear programming problems. Another method involves the use of branch and bound techniques, where the program is divided into subclasses to be solved with linear approximations that form a lower bound on the overall cost within the subdivision. With subsequent divisions, at some point an actual solution will be obtained whose cost is equal to or lower than the best lower bound obtained for any of the approximate solutions. This solution is optimal, although possibly not unique. The algorithm may also be stopped early, with the assurance that the best solution cannot be more that a certain percentage better than a solution that has been found. This is especially useful for large, difficult problems and problems with uncertain costs.

The Karush-Kuhn-Tucker (KKT) conditions provide the necessary conditions for a solution to be optimal.

## Examples

### 2-dimensional example

Missing image
Nonlinear_programming_jaredwf.png
The intersection of the line with the constrained space represents the solution

A simple problem can be defined by the constraints

x1 ≥ 0
x2 ≥ 0
x12 + x22 ≥ 1
x12 + x22 ≤ 2

with an objective function to be maximized

f(x) = x1 + x2

where x = (x1, x2)

### 3-dimensional example

Another simple problem can be defined by the constraints

x12x22 + x32 ≤ 2
x12 + x22 + x32 ≤ 10

with an objective function to be maximized

f(x) = x1x2 + x2x3

where x = (x1, x2, x3)

## References

Nocedal, Jorge and Wright, Stephen J. (1999). Numerical Optimization. Springer. ISBN 0387987932.

Bazaraa, Mokhtar S. and Shetty, C. M. (1979). Nonlinear programming. Theory and algorithms. John Wiley & Sons. ISBN 0471786101.

• AMPL solver software - free to students (GUI available)  (http://www.ampl.com/)

• Art and Cultures
• Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
• Space and Astronomy