Performance of the code

When SolvOpt was developed, the goal was to design an algorithm for smooth and non-smooth optimization problems, which combines efficiency, robustness and accuracy. Many runs with testing functions known to be a challenge for any optimization routine indicate that these design goals have been achieved.
However, there is no optimization code which never fails. So, we do not claim the robustness of the code in every case, but we claim that it works in 99 cases from every 100.

Below we present the results of test runs with the default values for the optional parameters. The standard starting points were used, unless stated otherwise. Tables 1, 1a, 1b, 1c, 2, 2a, 2b, 2c, 3, 4, 5, 6 provide the results of test runs with the use of the set of tests by Moré et al. These were obtained by use of solvopt.m. The test M-functions are included to the SolvOpt for use with Matlab distribution package. The page Moré test functions provides the data collected on these challenging minimization tests.

The first column of all the tables displays the title and the dimension of the test function. The second column provides the known local minimum. The third displays the function value at the solution obtained by the M-function solvopt with the default optional parameters. The third column gives the relative error for the minimizer in terms of the infinity (max) norm. The numbers of function and gradient evaluations are presented in columns 5 and 6 respectively.

  1. Table 1. The solution for the Moré set of UNC-problems by SolvOpt with user-supplied gradients.
  2. Table 2. The solution the Moré set of for UNC-problems by SolvOpt without user-supplied gradients.
  3. Table 1a. The solution for the Moré set of UNC-problems by SolvOpt with user-supplied gradients and 10-fold standard starting points.
  4. Table 2a. The solution the Moré set of for UNC-problems by SolvOpt without user-supplied gradients and 10-fold standard starting points.
  5. Table 1b. The solution for the Moré set of UNC-problems by SolvOpt with user-supplied gradients and 100-fold standard starting points.
  6. Table 2b. The solution for the Moré set of UNC-problems by SolvOpt without user-supplied gradients and 100-fold standard starting points.
  7. Table 1c. The solution for the Moré set of UNC-problems by SolvOpt with user-supplied gradients and 1000-fold standard starting points.
  8. Table 2c. The solution for the Moré set of UNC-problems by SolvOpt without user-supplied gradients and 1000-fold standard starting points.
  9. Table 3. The solution for the Moré set of UNC-problems by SolvOpt at f=1016f0 with user-supplied gradients and standard starting points.
  10. Table 4. The solution for the Moré set of UNC-problems by SolvOpt at f=1016f0 without user-supplied gradients and standard starting points.
  11. Table 5. The solution for the Moré set of UNC-problems by SolvOpt at f=10-8f0 with user-supplied gradients and standard starting points.
  12. Table 6. The solution for the Moré set of UNC-problems by SolvOpt at f=10-8f0 without user-supplied gradients and standard starting points.

One can find some results on minimization of nonsmooth (penalty) functions in the manual.

The following table illustrate the performance of SolvOpt by solution of some constrained test problems selected from the huge CUTE test set (to learn more about the CUTE visit the URLs ftp://130.246.8.61/pub/cute or ftp://138.48.4.14/pub/cute . One can also download the ANSI FORTRAN routines coded for these tests from ftp://plato.la.asu.edu/pub/donlp2.
In this table, the first column provides the title (identifier) of a test problem, the second one displays the number of variables, the numbers of equality and inequality constraints are found in the third and the fourth columns respectively, the fifth column provides the function value at the solution found and the other four columns display the values for the counters: objective function values, gradients of the objective function, maximal residuals for constraints and gradients for constraints respectively.
These results were obtained by the FORTRAN subroutine solvopt.

Table 7. The solution for constrained problems selected from the CUTE.

This page is always under construction.


Back to SolvOpt homepage