fbpx
Wikipedia

Nonlinear programming

In mathematics, nonlinear programming (NLP) is the process of solving an optimization problem where some of the constraints or the objective function are nonlinear. An optimization problem is one of calculation of the extrema (maxima, minima or stationary points) of an objective function over a set of unknown real variables and conditional to the satisfaction of a system of equalities and inequalities, collectively termed constraints. It is the sub-field of mathematical optimization that deals with problems that are not linear.

Applicability edit

A typical non-convex problem is that of optimizing 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.

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 are also nonlinear. 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.

Definition edit

Let n, m, and p be positive integers. Let X be a subset of Rn, let f, gi, and hj be real-valued functions on X for each i in {1, …, m} and each j in {1, …, p}, with at least one of f, gi, and hj being nonlinear.

A nonlinear minimization problem is an optimization problem of the form

 

A nonlinear maximization problem is defined in a similar way.

Possible types of constraint set edit

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; the feasible set is the empty set.

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 be better than 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.

Special cases edit

Some special cases of nonlinear programming have specialized solution methods:

  • 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 quadratic and the constraints are linear, quadratic programming techniques are used.
  • 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.

Methods for solving a general nonlinear program edit

Analytic methods edit

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

Under convexity, the KKT conditions are sufficient for a global optimum. Without convexity, these conditions are sufficient only for a local optimum. In some cases, the number of local optima is small, and one can find all of them analytically and find the one for which the objective value is smallest.[2]: Sec.5 

Numeric methods edit

In most realistic cases, it is very hard to solve the KKT conditions analytically, and so the problems are solved using numerical methods. These methods are iterative: they start with an initial point, and then proceed to points that are supposed to be closer to the optimal point, using some update rule. There are three kinds of update rules:[2]: 5.1.2 

  • Zero-order routines - use only the values of the objective function and constraint functions at the current point;
  • First-order routines - use also the values of the gradients of these functions;
  • Second-order routines - use also the values of the Hessians of these functions.

Third-order routines (and higher) are theoretically possible, but not used in practice, due to the higher computational load and little theoretical benefit.

Branch and bound edit

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.

Numerical Examples edit

2-dimensional example edit

 
The blue region is the feasible region. The tangency of the line with the feasible region represents the solution. The line is the best achievable contour line (locus with a given value of the objective function).

A simple problem (shown in the diagram) 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 edit

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

Another simple problem (see diagram) 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).

See also edit

References edit

  1. ^ Ruszczyński, Andrzej (2006). Nonlinear Optimization. Princeton, NJ: Princeton University Press. pp. xii+454. ISBN 978-0691119151. MR 2199043.
  2. ^ a b Nemirovsky and Ben-Tal (2023). "Optimization III: Convex Optimization" (PDF).

Further reading edit

  • Avriel, Mordecai (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.
  • Bazaraa, Mokhtar S. and Shetty, C. M. (1979). Nonlinear programming. Theory and algorithms. John Wiley & Sons. ISBN 0-471-78610-1.
  • Bonnans, J. Frédéric; Gilbert, J. Charles; Lemaréchal, Claude; Sagastizábal, Claudia A. (2006). Numerical optimization: Theoretical and practical aspects. Universitext (Second revised ed. of translation of 1997 French ed.). Berlin: Springer-Verlag. pp. xiv+490. doi:10.1007/978-3-540-35447-5. ISBN 3-540-35445-X. MR 2265882.
  • Luenberger, David G.; Ye, Yinyu (2008). Linear and nonlinear programming. International Series in Operations Research & Management Science. Vol. 116 (Third ed.). New York: Springer. pp. xiv+546. ISBN 978-0-387-74502-2. MR 2423726.
  • Nocedal, Jorge and Wright, Stephen J. (1999). Numerical Optimization. Springer. ISBN 0-387-98793-2.
  • Jan Brinkhuis and Vladimir Tikhomirov, Optimization: Insights and Applications, 2005, Princeton University Press

External links edit

  • Mathematical Programming Glossary

nonlinear, programming, mathematics, nonlinear, programming, process, solving, optimization, problem, where, some, constraints, objective, function, nonlinear, optimization, problem, calculation, extrema, maxima, minima, stationary, points, objective, function. In mathematics nonlinear programming NLP is the process of solving an optimization problem where some of the constraints or the objective function are nonlinear An optimization problem is one of calculation of the extrema maxima minima or stationary points of an objective function over a set of unknown real variables and conditional to the satisfaction of a system of equalities and inequalities collectively termed constraints It is the sub field of mathematical optimization that deals with problems that are not linear Contents 1 Applicability 2 Definition 3 Possible types of constraint set 4 Special cases 5 Methods for solving a general nonlinear program 5 1 Analytic methods 5 2 Numeric methods 5 3 Branch and bound 6 Numerical Examples 6 1 2 dimensional example 6 2 3 dimensional example 7 See also 8 References 9 Further reading 10 External linksApplicability editA typical non convex problem is that of optimizing 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 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 are also nonlinear 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 Definition editLet n m and p be positive integers Let X be a subset of Rn let f gi and hj be real valued functions on X for each i in 1 m and each j in 1 p with at least one of f gi and hj being nonlinear A nonlinear minimization problem is an optimization problem of the form minimize f x subject to g i x 0 for each i 1 m h j x 0 for each j 1 p x X displaystyle begin aligned text minimize amp f x text subject to amp g i x leq 0 text for each i in 1 dotsc m amp h j x 0 text for each j in 1 dotsc p amp x in X end aligned nbsp A nonlinear maximization problem is defined in a similar way Possible types of constraint set editThere 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 the feasible set is the empty set 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 be better than 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 Special cases editSome special cases of nonlinear programming have specialized solution methods 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 quadratic and the constraints are linear quadratic programming techniques are used 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 Methods for solving a general nonlinear program editAnalytic methods edit Under differentiability and constraint qualifications the Karush Kuhn Tucker KKT conditions provide necessary conditions for a solution to be optimal If some of the functions are non differentiable subdifferential versions of Karush Kuhn Tucker KKT conditions are available 1 Under convexity the KKT conditions are sufficient for a global optimum Without convexity these conditions are sufficient only for a local optimum In some cases the number of local optima is small and one can find all of them analytically and find the one for which the objective value is smallest 2 Sec 5 Numeric methods edit In most realistic cases it is very hard to solve the KKT conditions analytically and so the problems are solved using numerical methods These methods are iterative they start with an initial point and then proceed to points that are supposed to be closer to the optimal point using some update rule There are three kinds of update rules 2 5 1 2 Zero order routines use only the values of the objective function and constraint functions at the current point First order routines use also the values of the gradients of these functions Second order routines use also the values of the Hessians of these functions Third order routines and higher are theoretically possible but not used in practice due to the higher computational load and little theoretical benefit Branch and bound edit 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 e optimal Terminating to e 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 Numerical Examples edit2 dimensional example edit nbsp The blue region is the feasible region The tangency of the line with the feasible region represents the solution The line is the best achievable contour line locus with a given value of the objective function A simple problem shown in the diagram can be defined by the constraints x1 0 x2 0 x12 x22 1 x12 x22 2with an objective function to be maximized f x x1 x2where x x1 x2 3 dimensional example edit nbsp The tangency of the top surface with the constrained space in the center represents the solution Another simple problem see diagram can be defined by the constraints x12 x22 x32 2 x12 x22 x32 10with an objective function to be maximized f x x1x2 x2x3where x x1 x2 x3 See also editCurve fitting Least squares minimization Linear programming nl format Nonlinear least squares List of optimization software Quadratically constrained quadratic programming Werner Fenchel who created the foundation for nonlinear programmingReferences edit Ruszczynski Andrzej 2006 Nonlinear Optimization Princeton NJ Princeton University Press pp xii 454 ISBN 978 0691119151 MR 2199043 a b Nemirovsky and Ben Tal 2023 Optimization III Convex Optimization PDF Further reading editAvriel Mordecai 2003 Nonlinear Programming Analysis and Methods Dover Publishing ISBN 0 486 43227 0 Bazaraa Mokhtar S and Shetty C M 1979 Nonlinear programming Theory and algorithms John Wiley amp Sons ISBN 0 471 78610 1 Bonnans J Frederic Gilbert J Charles Lemarechal Claude Sagastizabal Claudia A 2006 Numerical optimization Theoretical and practical aspects Universitext Second revised ed of translation of 1997 French ed Berlin Springer Verlag pp xiv 490 doi 10 1007 978 3 540 35447 5 ISBN 3 540 35445 X MR 2265882 Luenberger David G Ye Yinyu 2008 Linear and nonlinear programming International Series in Operations Research amp Management Science Vol 116 Third ed New York Springer pp xiv 546 ISBN 978 0 387 74502 2 MR 2423726 Nocedal Jorge and Wright Stephen J 1999 Numerical Optimization Springer ISBN 0 387 98793 2 Jan Brinkhuis and Vladimir Tikhomirov Optimization Insights and Applications 2005 Princeton University PressExternal links editMathematical Programming Glossary Retrieved from https en wikipedia org w index php title Nonlinear programming amp oldid 1186988482, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.