Nonlinear programming

In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem defined by a system of equalities and inequalities, collectively termed constraints, over a set of unknown real variables, along with an objective function to be maximized or minimized, where some of the constraints or the objective function are nonlinear.[1] It is the sub-field of mathematical optimization that deals with problems that are not linear.

Applicability

A typical nonconvex problem is that of optimising transportation costs by selection from a set of transportation methods, one or more of which exhibit economies of scale, with various connectivities and capacity constraints. An example would be petroleum product transport given a selection or combination of pipeline, rail tanker, road tanker, river barge, or coastal tankship. Owing to economic batch size the cost functions may have discontinuities in addition to smooth changes.

Modern engineering practice involves much numerical optimization. Except in certain narrow but important cases such as passive electronic circuits, engineering problems are non-linear, and they are usually very complicated.

In experimental science, some simple data analysis (such as fitting a spectrum with a sum of peaks of known location and shape but unknown magnitude) can be done with linear methods, but in general these problems, also, are non-linear. Typically, one has a theoretical model of the system under study with variable parameters in it and a model the experiment or experiments, which may also have unknown parameters. One tries to find a best fit numerically. In this case one often wants a measure of the precision of the result, as well as the best fit itself.

The general non-linear optimization problem (NLP)

The problem can be stated simply as:

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

or

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

where

f: R^n \to R
x \in R^n

s.t. (subject to)

h_i(x)=0, i \in I={1,\dots,p}
g_j(x) \leq 0, j \in J={1,\dots,m}

Possible types of constraint set

There are several possibilities for the nature of the constraint set, also known as the feasible set or feasible region.

An infeasible problem is one for which no set of values for the choice variables satisfies all the constraints. That is, the constraints are mutually contradictory, and no solution exists.

A feasible problem is one for which there exists at least one set of values for the choice variables satisfying all the constraints.

An unbounded problem is a feasible problem for which the objective function can be made to exceed any given finite value. Thus there is no optimal solution, because there is always a feasible solution that gives a better objective function value than does any given proposed solution.

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 concave (maximization problem), or convex (minimization problem) and the constraint set is convex, then the program is called convex and general methods from convex optimization can be used in most cases.

If the objective function is a ratio of a concave and a convex function (in the maximization case) and the constraints are convex, then the problem can be transformed to a convex optimization problem using fractional programming techniques.

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 convex (minimization problem) or 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 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 possible solution is within a tolerance from the best point found; such points are called ε-optimal. Terminating to ε-optimal points is typically necessary to ensure finite termination. This is especially useful for large, difficult problems and problems with uncertain costs or values where the uncertainty can be estimated with an appropriate reliability estimation.

Under differentiability and constraint qualifications, the Karush–Kuhn–Tucker (KKT) conditions provide necessary conditions for a solution to be optimal. Under convexity, these conditions are also sufficient. If some of the functions are non-differentiable, subdifferential versions of Karush–Kuhn–Tucker (KKT) conditions are available.[2]

Examples

2-dimensional example

The intersection of the line with the constrained space represents the solution. The line is the best achievable contour line (locus with a given value of the objective function).

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). Solve 2-D Problem.

3-dimensional example

The intersection of the top surface with the constrained space in the center represents the solution

Another simple problem can be defined by the constraints

x12 x22 + x32 2
x12 + x22 + x32 10

with an objective function to be maximized

f(x) = x1x2 + x2x3

where x = (x1, x2, x3). Solve 3-D Problem.

Applications

Nonlinear optimization methods are used in engineering, for example to construct computational models of oil reservoirs.[3]

See also

References

  1. Bertsekas, Dimitri P. (1999). Nonlinear Programming (Second ed.). Cambridge, MA.: Athena Scientific. ISBN 1-886529-00-0.
  2. Ruszczyński, Andrzej (2006). Nonlinear Optimization. Princeton, NJ: Princeton University Press. pp. xii+454. ISBN 978-0691119151. MR 2199043.
  3. History matching production data and uncertainty assessment with an efficient TSVD parameterization algorithm, http://www.sciencedirect.com/science/article/pii/S0920410513003227

Further reading

External links