Nonlinear Programming
Minimize nonlinear functions subject to constraints
Nonlinear programming (NP) involves minimizing or maximining 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.
You can solve unconstrained nonlinear programming problems with MATLAB and Optimization Toolbox, which includes the following algorithms:
- 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.
Optimization Toolbox includes four algorithms to solve constrained nonlinear programming problems:
- 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
Examples and How To
- Large-Scale Unconstrained Nonlinear Programming (Example)
- Medium-Scale Nonlinear Data Fitting (Example)
- Nonlinear Programming with Equality and Inequality Constraints (Example)
- Nonlinear Programming with Bound Constraints (Example)
- Nonlinear Programming with Gradients Provided (Example)
- Introduction to Optimization Graphical User Interface (Video)
Software Reference
- 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
