test_opt_con
test_opt_con,
a MATLAB code which
defines a set of constrained global optimization problems.
A typical constrained global optimization problem presents an M-dimensional
hyper-rectangle bounded by A(1:M) <= X(1:M) <= B(1:M), and a scalar-valued
function F(X). The task is to find a point X within the hyper-rectangle
at which the function takes its minimum value.
This task is impossible, mathematically and in general. However, the problems
that can be solved mathematically are often not the ones encountered in
real life. Thus, it is useful to try to solve an impossible problem, since
an approximate answer to such a problem can be all we can hope for or need.
The functions defined include:
-
NM1: Niederreiter-McCurley function #1, M = 4;
-
NM2: Niederreiter-McCurley function #2, M = 4;
-
NM3: Niederreiter-McCurley function #3, M = 4;
-
NM4: Niederreiter-McCurley function #4, M = 4;
-
NM5: Niederreiter-McCurley function #5, M = 4;
-
NM6: Niederreiter-McCurley function #6, M = 4;
-
L02: Langerman function, M = 2;
-
L10: Langerman function, M = 10;
For each function, the library includes a routine to evaluate the function,
but also routines to return the limits of the hyper-rectangle, the
spatial dimension, the solution, if known, and a title for the problem.
These routines have a standard set of names based on the function index.
For instance, for function #3, we have the routines:
-
P03_AB returns bounds for problem 3.
-
P03_F returns the objective function value for problem 3.
-
P03_M returns the spatial dimension for problem 3.
-
P03_SOL returns known solutions for problem 3.
-
P03_TITLE returns a title for problem 3.
Since the same interface is used for each function,
if you wish to work with problem 6 instead, you simply change
the "03" to "06" in your routine calls.
If you wish to call all of the functions, you can write a concise
program to do so by using the generic interface, in which the function
names use the prefix P00_, and require the specific problem index
to be supplied as an extra input argument:
-
P00_AB returns bounds for a problem specified by index.
-
P00_F returns the objective function value for a problem specified by index.
-
P00_M returns the spatial dimension for a problem specified by index.
-
P00_SOL returns known solutions for a problem specified by index.
-
P00_TITLE returns a title for a problem specified by index.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the MIT license
Languages:
test_opt_con is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
asa047,
a MATLAB code which
minimizes a scalar function of several variables using the Nelder-Mead algorithm.
compass_search
a MATLAB code which
minimizes a scalar function of several variables using
the compass search algorithm.
fmincon_test,
a MATLAB code which
demonstrates the use of the fmincon() function to seek the minimizer
of a function f(x) subject to a constraint.
nelder_mead,
a MATLAB code which
minimizes a scalar function of several variables using the nelder-mead
algorithm, by Jeff Borggaard.
polynomials,
a MATLAB code which
defines multivariate polynomials over rectangular domains, for
which certain information is to be determined, such as the maximum
and minimum values.
praxis,
a MATLAB code which
minimizes a scalar function of several variables, without
requiring derivative information,
by richard brent.
test_opt,
a MATLAB code which
defines test problems
requiring the minimization of a scalar function of several variables.
test_opt_con_test
test_optimization,
a MATLAB code which
defines test problems for the minimization of a scalar function
of several variables, as described by molga and smutnicki.
toms178,
a MATLAB code 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.
Source Code:
-
p00_ab.m,
returns bounds for a problem specified by index.
-
p00_f.m,
returns the objective function value for a problem specified by index.
-
p00_m.m,
returns the spatial dimension for a problem specified by index.
-
p00_problem_num.m,
returns the number of problems.
-
p00_sol.m,
returns known solutions for a problem specified by index.
-
p00_title.m,
returns a title for a problem specified by index.
-
p01_ab.m,
returns bounds for problem 1.
-
p01_f.m,
returns the objective function value for problem 1.
-
p01_m.m,
returns the spatial dimension for problem 1.
-
p01_sol.m,
returns known solutions for problem 1.
-
p01_title.m,
returns a title for problem 1.
-
p02_ab.m,
returns bounds for problem 2.
-
p02_f.m,
returns the objective function value for problem 2.
-
p02_m.m,
returns the spatial dimension for problem 2.
-
p02_sol.m,
returns known solutions for problem 2.
-
p02_title.m,
returns a title for problem 2.
-
p03_ab.m,
returns bounds for problem 3.
-
p03_f.m,
returns the objective function value for problem 3.
-
p03_m.m,
returns the spatial dimension for problem 3.
-
p03_sol.m,
returns known solutions for problem 3.
-
p03_title.m,
returns a title for problem 3.
-
p04_ab.m,
returns bounds for problem 4.
-
p04_f.m,
returns the objective function value for problem 4.
-
p04_m.m,
returns the spatial dimension for problem 4.
-
p04_sol.m,
returns known solutions for problem 4.
-
p04_title.m,
returns a title for problem 4.
-
p05_ab.m,
returns bounds for problem 5.
-
p05_f.m,
returns the objective function value for problem 5.
-
p05_m.m,
returns the spatial dimension for problem 5.
-
p05_sol.m,
returns known solutions for problem 5.
-
p05_title.m,
returns a title for problem 5.
-
p06_ab.m,
returns bounds for problem 6.
-
p06_f.m,
returns the objective function value for problem 6.
-
p06_m.m,
returns the spatial dimension for problem 6.
-
p06_sol.m,
returns known solutions for problem 6.
-
p06_title.m,
returns a title for problem 6.
-
p07_ab.m,
returns bounds for problem 7.
-
p07_f.m,
returns the objective function value for problem 7.
-
p07_m.m,
returns the spatial dimension for problem 7.
-
p07_sol.m,
returns known solutions for problem 7.
-
p07_title.m,
returns a title for problem 7.
-
p08_ab.m,
returns bounds for problem 8.
-
p08_f.m,
returns the objective function value for problem 8.
-
p08_m.m,
returns the spatial dimension for problem 8.
-
p08_sol.m,
returns known solutions for problem 8.
-
p08_title.m,
returns a title for problem 8.
-
r8col_uniform.m,
fills an R8COL with scaled pseudorandom numbers.
Last revised on 31 March 2019.