Moré set of test functions

This page concerns the data collected while testing the routine solvopt . Some of those challenging test functions included to Moré set appeared to have more local minima, some have tricky points looking like a minimum and some have "false minima" caused by a finite accuracy of calculations. We present here some data, which seems to be new, and well-known facts as well. We encourage everyone to share the experience with the aim to complete this page and therefore to help other people doing their research in the optimization area.
Function #1 (#21) - Rosenbrock (Extended Rosenbrock)
This well-known test function becomes very nasty as soon as a point is far from the minimum. The function has a long ravine with very steep walls and almost flat bottom. If x1>108 and x2=x12, the two successive gradients are exactly opposite to each other at a very small possible step size. This means, one cannot reach the bottom because of the finite accuracy of computer calculations and one cannot calculate a right direction to go along the ravine. This is why a computer application of any gradient method may fail to minimize the function. The more so, if gradients are approximated by the finite differences.

Function #2 - Freudenstein and Roth
This function has the global minimum f0=0 at the point [4;5]
and a local minimum f=48.98425 at the point [11.4125; -0.89685].

Function #3 - Powell Badly Scaled
This function has the global minimum f0=0 at the point [1.09815933e-5; 9.106146738].
It is very flat near the minimum point and a solution x with
f(x)≥10-8 is not a satisfactory one in view of the argument.
A satisfactory solution providing sufficiently accurate estimate for the minimizer is less then f(x)~10-13.

Function #6 - Jennrich and Sampson
This function has the global minimum f0=124.362 at the point [0.257825; 0.257825]
and a local minimum f=259.58019078047 on the plane x1=0.33148432
(see contour and mesh plots of the function at this local minimum).

Function #8 - Bard
This function has the only minimum f0=0.00821487 at the point [.0824106 1.13304 2.3437].
However, at x(1)=0.84066666669332, it becomes flatter and flatter as the other two variables (x(2) and x(3)) decrease. Starting at x(2),x(3)=-1.e-10, the gradient equals zero to the extend of a machine epsilon.
It is illustrated by the contour plots c12, c13, and mesh plots m12, m13, m23 for the function at the point. The numbers correspond to the coordinates.

Function #9 - Gaussian
This function has the global minimum f0=1.12793e-8 at the point [0.398956; 1; 0]
and a number of "false" local minima. The one at the point [0.39889; 1000; 0] with f=0.405102 is caused by the finite machine epsilon. The contour plots c12, c13, c23 and mesh plots m12, m13, m23 illustrate the behavior of the function at this point. As previously, the numbers correspond to the coordinates.

Function #11 - Gulf Research and Development
This function has the global minimum f0=0 at the point [50; 25; 1.5]
and a local minimum f=0.038 at
x=[99.89537833835886; 60.61453903025014; 9.16124389236433]
(see contour plots c12, c13 and c23).
Additionally, this local minimum is very flat and the minimizer is surrounded by a "plateau", where the gradient is zero everywhere and the function equals 0.0385.
Another local minimum with exactly the same function value (0.0380) is reached at the point
[201.662589489426; 60.616331504682; 10.224891158489].

Function #15 - Kowalik and Osborne
This function has the global minimum f0=0.000307506
at the point [0.192807; 0.191282; 0.123056; 0.136062].
Additionally, it takes a local minimum f=0.00179453906640 on a big flat plateau. The following are the minimum points found on this plateau by SolvOpt:
[0.816961; 2045080438; 7189803671; 2927176299],
[0.734588; 2648629959; 8372807699; 3408733052],
[0.537138; 1852002979; 4280874360; 1742904647].
These particular points appear to be "false" local minima on a flat plateau, the fact caused by the finite accuracy of calculations.

Function #17 - Osborne I
This function has the global minimum f0=5.46489e-5 at the point [0.3754; 1.9358; -1.4647; 0.01287; 0.02212].
It also has a number of "false" minima which are points of flatness and look like a minimum.
In particular, gradient is approximately zero ( [1.55e-15; 4.2e-11; 4.2e-11; 0; 0] ) everywhere on a big "plateau" at
x1=0.62415625, x2~125*10i, x3~-125*10i, where i=0,1,..., and x4>10, x5>10.
The function equals 1.10603621875 everywhere on this "plateau" (for example, try the point [0.62415625; 12500.1402308134; -12499.9203870634; 100; 200]).
As soon as the starting point is far from the global minimum, this flat area is possibly the most attractive for a gradient method.

One particular point from this area is illustrated by the contour and mesh plots c12, m12, c13, m13, c14, m14, c15, m15, c23, m23, c24, m24, c25, m25, c34, m34, c35, m35, m45. Here 'm' corresponds to mesh, resp. 'c' to contour and numbers to the coordinates.

Another point of attraction with f=0.02451829513875 and ||f '||~10-10 is illustrated by the respective contour and mesh plots c12, m12, c13, m13, c14, m14, c15, m15, c23, m23, c24, m24, c25, m25, c34, m34, c35, m35, c45, m45.
There are many more such awkward points.

Function #18 - Biggs EXP6
This function has the global minimum f0=0 at the point [1; 10; 1; 5; 4; 3]
and local minimum f=0.00565565
at the point [1.711416; 17.6831975; 1.16314365; 5.18656; 1.711416; 1.16314365], which are known.

In addition, the function takes a local minimum 0.30636677262479 on the plane
{x1=1.22755594752403; x2>>0; x3=0.83270306333466; x4<<0; x5=x1; x6=x3}
(see c12, m12, c13, m13, c14, m14, c15, m15, c16, m16, c23, m23, m24, c25, m25, c26, m26, c34, m34, c35, m35, c36, m36, c45, m45, c46, m46, c56, m56).

Function #19 - Osborne II
This function has the global minimum f0=0.0401377 at the point [.30997715348596; 0.431553792599067; 0.633661699574371; 0.599430531571756; 0.754183220153148].

The two detected local minima are:
f=1.78981358688109 at
x1=0.91703842587974 and x5=0.13275478535299
(see contour and mesh plots for the pair (x1,x5) ) and
f=26.305657 at
x1=1.3660000675 and x5=0.6.
In the both cases, the other nine variables may take various values.

Function #26 - Trigonometric
This function is known to have the global minimum f0=0 at the point
[0.0429645656464827; 0.043976286943042; 0.0450933996565844; 0.0463389157816542; 0.0477443839560646; 0.0493547352444078; 0.0512373449259557; 0.195209463715277; 0.164977664720328; 0.0601485854398078]
and local minimum f=2.79506e-5 at the point
[ 0.0551509; 0.0568408; 0.0587639; 0.0609906; 0.0636263; 0.0668432; 0.208162; 0.164363; 0.0850068; 0.0914314].

Function #30 - Broyden Tridiagonal
In addition to the global minimum f0=0, this function has a number of local minima. They are:

f=1.36025590473840 at
x=[0.89571637066795; 1.43694322050304; -0.08787533663029; -0.51565133590034; -0.56252955081589; -0.42678887777818; -0.03488113362957; 0.73773668071208; 1.31192604432832; 0.23349654053705],

f=1.02865203567795 at
x=[1.57293556968858; 0.37536914085555; 0.16829821000091; 0.60512754208275; 1.05196056858588; 0.58619628989910; 0.42021181170450; 0.76713494858584; 1.17153397159970; 0.26636104677652],

f=1.05122618838356 at
x=[1.76423409318896; 0.03091840088999; -0.32488644889735; -0.06855209483793; 0.70236806246591; 1.49772106403168; -0.06585213920739; -0.50614689954560; -0.54944142333092; -0.40108999846985],

f=1.05122618838356 at
x=[1.73905838100313;0.08286257408083;-0.24655906721381;0.04553098676945; 0.74854483640949;1.17092063399475;0.39373320226816;0.28526714046312; 0.79188653014133;1.31220034435141],

f=0.71260601731262 at
x=[1.83141075408277; -0.10695150598288; -0.58756136817458; -0.67305617728853; -0.66862208919252; -0.61247812756592; -0.45433311772938; -0.05529093386451; 0.75788912482266; 1.41326822790186] and

f=0.39737346895853 at
x=[1.82910567383287; -0.10197809329322; -0.57788049656156; -0.64962654169425; -0.60679005996046; -0.44981389867908; -0.05474342424961; 0.72306839424618; 1.31937148707469; 0.23503639006362].

Function #31 - Broyden Banded
In addition to the global minimum f0=0, this function has at least two more local minima:

f=3.05727843 at
x=[0.210713858177301; 0.260976685957722; 0.227947672085427; 0.197025588320616; 0.203229694083309; 0.221915978634404; 0.16281223895881; 0.0483025286174326; -0.0793565823288942; -0.153125186088696] and

f=2.68021992072616 at
x=[0.21717225508353; 0.30646717454530; 0.35678613574215; 0.44839494272506; 0.57763800138617; 0.71310355796924; 0.82395652593316; 0.92190937955671; 0.99699281917885; 0.96346230718557].


Back to the Results