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.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
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.
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:
-
Harald Niederreiter, Kevin McCurley,
Optimization of functions by quasi-random search methods,
Computing,
Volume 22, Number 2, 1979, pages 119-123.
Examples and Tests:
-
fmincon_test.m,
calls all the tests.
-
fmincon_test_output.txt,
the output file.
-
fmincon_test01.m,
uses the Niederreiter-McCurley function #1.
-
niederreiter_mccurley1.m,
evaluates the Niederreiter-McCurley function #1.
-
fmincon_test02.m,
uses the Niederreiter-McCurley function #2.
-
niederreiter_mccurley2.m,
evaluates the Niederreiter-McCurley function #2.
-
fmincon_test03.m,
uses the Niederreiter-McCurley function #3.
-
niederreiter_mccurley3.m,
evaluates the Niederreiter-McCurley function #3.
-
fmincon_test04.m,
uses the Niederreiter-McCurley function #4.
-
niederreiter_mccurley4.m,
evaluates the Niederreiter-McCurley function #4.
-
fmincon_test05.m,
uses the Niederreiter-McCurley function #5.
-
niederreiter_mccurley5.m,
evaluates the Niederreiter-McCurley function #5.
-
fmincon_test06.m,
uses the Niederreiter-McCurley function #6.
-
niederreiter_mccurley6.m,
evaluates the Niederreiter-McCurley function #6.
You can go up one level to
the MATLAB source codes.
Last revised on 06 September 2010.