FMINCON Examples of Constrained Minimization using FMINCON

FMINCON is a function included in MATLAB's Optimization Toolbox which seeks the minimizer of a scalar function of multiple variables, within a region specified by linear constraints and bounds.

A related function built into MATLAB is fminsearch which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

Usage:

x_opt = fmincon ( fun, x0, A, b, Aeq, beq, lb, ub )
where
• fun is the "function handle"; that is, the name of an M-file that defines the function, preceded by an "@" sign;
• x0 is an initial value for the optimizer;
• A, b define a linear inequality constraint A * x <= b on the solution.
• Aeq, beq define a linear equality constraint Aeq * x = beq on the solution.
• lb, ub define bounds on the solution, lb <= x <= ub.

Languages:

FMINCON is available in a MATLAB version.

Related Data and Programs:

ASA047, a MATLAB library which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

COMPASS_SEARCH, a MATLAB library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.

ENTRUST, a MATLAB program which minimizes a scalar function of several variables using trust-region methods.

NELDER_MEAD, a MATLAB program which minimizes a scalar function of several variables using the Nelder-Mead algorithm, by Jeff Borggaard.

POLYNOMIALS, a MATLAB library which defines multivariate polynomials over rectangular domains, for which certain information is to be determined, such as the maximum and minimum values.

PRAXIS, a FORTRAN90 library which implements the principal axis method of Richard Brent for minimization of a function without the use of derivatives.

TEST_OPT, a MATLAB library which defines test problems requiring the minimization of a scalar function of several variables.

TOMS178, a MATLAB library which optimizes a scalar functional of multiple variables using the Hooke-Jeeves method.

Reference:

1. Harald Niederreiter, Kevin McCurley,
Optimization of functions by quasi-random search methods,
Computing,
Volume 22, Number 2, 1979, pages 119-123.

Examples and Tests:

You can go up one level to the MATLAB source codes.

Last revised on 06 September 2010.