Nonlinear programming (NP) involves minimizing or maximizing a nonlinear objective function subject to bound constraints, linear constraints, or nonlinear constraints, where the constraints can be inequalities or equalities. Example problems in engineering include analyzing design tradeoffs, selecting optimal designs, and incorporating optimization methods in algorithms and models.

Unconstrained nonlinear programming is the mathematical problem of finding a vector x that is a local minimum to the nonlinear scalar function `f(x)`. Unconstrained means that there are no restrictions placed on the range of `x`.

The following algorithms are commonly used for unconstrained nonlinear programming:

**Quasi-Newton:**uses a mixed quadratic and cubic line search procedure and the Broyden-Fletcher-Goldfarb-Shanno (BFGS) formula for updating the approximation of the Hessian matrix**Nelder-Mead:**uses a direct-search algorithm that uses only function values (does not require derivatives) and handles nonsmooth objective functions**Trust-region:**used for unconstrained nonlinear problems and is especially useful for large-scale problems where sparsity or structure can be exploited

Constrained nonlinear programming is the mathematical problem of finding a vector `x` that minimizes a nonlinear function `f(x)` subject to one or more constraints.

Algorithms for solving constrained nonlinear programming problems include:

**Interior-point:**especially useful for large-scale problems that have sparsity or structure**Sequential quadratic programming (SQP):**solves general nonlinear problems and honors bounds at all iterations**Active-set:**solves problems with any combination of constraints**Trust-region reflective:**solves bound constrained problems or linear equalities only

For more information on nonlinear programming, see Optimization Toolbox.

- Analyzing the Effect of Uncertainty Using Semi-Infinite Programming (Example)
- Medium-Scale Nonlinear Data Fitting (Example)
- Nonlinear Programming with Equality and Inequality Constraints (Example)
- Nonlinear Programming with Gradients Provided (Example)
- Introduction to Optimization Graphical User Interface 6:08 (Video)

- Unconstrained Optimization Functions in Optimization Toolbox (Functions)
- Constrained Optimization Functions in Optimization Toolbox (Functions)
- Unconstrained Nonlinear Optimization Algorithm (Documentation)
- Constrained Nonlinear Optimization Algorithm (Documentation)
- Parallel Computing for Optimization (Documentation)

*See also*: *Optimization Toolbox*, *Global Optimization Toolbox*, *linear programming*, *quadratic programming*, *multiobjective optimization*, *genetic algorithm*, *simulated annealing*