jburkardt

TEST_MIN\ Test problems for minimization {#test_min-test-problems-for-minimization align=”center”} ==============================


TEST_MIN is a C++ library which defines problems involving the minimization of a scalar function of a scalar argument.

TEST_MIN can be useful for testing algorithms that attempt to minimize a scalar function of a scalar argument. Each problem has an index number, and there are a corresponding set of routines, with names beginning with the index number, to:

There is also a “generic” problem interface, whose routines all begin with “P00”. This allows the user to call all possible problems in a single simple loop, by passing the desired index number through the generic interface.

The functions can be invoked by an index number, and include:

  1. f(x) = ( x - 2 )\^2 + 1;\ a PNG image;
  2. f(x) = x\^2 + exp ( -x );\ a PNG image;
  3. f(x) = x\^4 + 2x\^2 + x + 3;\ a PNG image;
  4. f(x) = exp ( x ) + 0.01 / x;\ a PNG image;
  5. f(x) = exp ( x ) - 2 * x + 0.01 / x - 0.000001 / x\^2;\ a PNG image;
  6. f(x) = 2 - x;\ a PNG image;
  7. f(x) = ( x + sin ( x ) ) * exp ( -x\^2 );\ a PNG image;
  8. f(x) = 3 * x\^2 + 1 + ( log ( ( x - pi )\^2 ) ) / pi\^4;\ a PNG image;
  9. f(x) = x\^2 - 10 sin ( x\^2 - 3x + 2);\ a PNG image;
  10. f(x) = cos(x)+5*cos(1.6*x)-2*cos(2*x)+5*cos(4.5*x)+7*cos(9*x);\ a PNG image;
  11. f(x) = 1+|3x-1|;\ a PNG image;

Licensing: {#licensing align=”center”}

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages: {#languages align=”center”}

TEST_MIN is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

BRENT, a C++ library which contains Richard Brent’s routines for finding the zero, local minimizer, or global minimizer of a scalar function of a scalar argument, without the use of derivative information.

Reference: {#reference align=”center”}

  1. Isabel Beichl, Dianne O’Leary, Francis Sullivan,\ Monte Carlo Minimization and Counting: One, Two, Too Many,\ Computing in Science and Engineering,\ Volume 9, Number 1, January/February 2007.
  2. Richard Brent,\ Algorithms for Minimization without Derivatives,\ Dover, 2002,\ ISBN: 0-486-41998-3,\ LC: QA402.5.B74.
  3. David Kahaner, Cleve Moler, Steven Nash,\ Numerical Methods and Software,\ Prentice Hall, 1989,\ ISBN: 0-13-627258-4,\ LC: TA345.K34.
  4. Arnold Krommer, Christoph Ueberhuber,\ Numerical Integration on Advanced Computer Systems,\ Springer, 1994,\ ISBN: 3540584102,\ LC: QA299.3.K76.
  5. Dianne O’Leary,\ Scientific Computing with Case Studies,\ SIAM, 2008,\ ISBN13: 978-0-898716-66-5,\ LC: QA401.O44.
  6. LE Scales,\ Introduction to Non-Linear Optimization,\ Springer, 1985,\ ISBN: 0-387-91252-5,\ LC: QA402.5.S33.

Source Code: {#source-code align=”center”}

Examples and Tests: {#examples-and-tests align=”center”}

List of Routines: {#list-of-routines align=”center”}

You can go up one level to the C++ source codes.


Last revised on 11 February 2009