Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Unconstrained Optimization details
Login with GitLab

Unconstrained Optimization

Provide 35 unconstrained optimization problems
(2076 downloads for this version - 20986 downloads for all versions)
A more recent valid version with binaries for Scilab 5.2 exists: 0.2
Michael Baudin
Benoit Hamelin
Jean-Pierre Dussault
Chaya Gurwitz
Livia Klein
Madhu Lamba
John Burkardt
Jorge More
Burton Garbow
Kenneth Hillstrom
Owner Organization
Michael BAUDIN
Creation Date
June 1, 2010
Source created on
Scilab 5.2.x
Binaries available on
Scilab 5.2.x:
Windows 64-bit Windows 32-bit Linux 64-bit Linux 32-bit macOS
Install command
--> atomsInstall("uncprb")

The goal of this toolbox is to provide unconstrained optimization problems
in order to test optimization algorithms.

The More, Garbow and Hillstrom collection of test functions is widely used
in testing unconstrained optimization software.  The code for these problems
is available in Fortran from the netlib software archives.

The port from Fortran to Matlab was done by two undergraduate students at
Brooklyn College,
Livia Klein and Madhu Lamba, under the supervision of Chaya Gurwitz.

Benoit Hamelin did the port from Matlab to Scilab v4 with m2sci and
did some manual tuning of the result.

Michael Baudin did the port from Scilab v4 to Scilab v5.
I renamed the functions to avoid naming conflicts.
I formatted the help pages to generate automatically the xml from the


Provides 35 unconstrained optimization problems.
Provide the function value, the gradient, the function vector, the Jacobian.
Provide the Hessian matrix for 18 problems.
Provides the starting point for each problem.
Provides the optimum function value and the optimum point x for many problems.
Provide finite difference routines for the gradient, the Jacobian and the
Hessian matrix.
Macro based functions : no compiler required.
All function values, gradients, Jacobians and Hessians are tested.


"Algorithm 566: FORTRAN Subroutines for Testing Unconstrained Optimization
Software", ACM Transactions on Mathematical Software (TOMS), Volume 7 ,  Issue
1, March 1981, Pages: 136 - 140, J. J. Moré, Burton S. Garbow, Kenneth E.

"HESFCN - A Fortran Package Of Hessian Subroutines For Testing Nonlinear
Software", Victoria Averbukh, Samuel Figueroa, And Tamar Schlick Courant
Institue Of Mathematical Sciences


Scilab v5 port and update: 2010, Michael Baudin
Scilab port: 2000-2004, Benoit Hamelin, Jean-Pierre Dussault
Matlab port: Chaya Gurwitz, Livia Klein, and Madhu Lamba
2000 - John Burkardt (optimum points for problem #20)
Fortran 77: Jorge More, Burton Garbow and Kenneth Hillstrom

Files (2)
[173.76 kB]
Source code archive

[306.90 kB]
OS-independent binary for Scilab 5.2.x
Binary version
Automatically generated by the ATOMS compilation chain

News (0)
Comments (1)     Leave a comment 
Comment -- August 2, 2011, 10:22:22 AM    
Here is the changelog of the version 0.1:

uncprb (0.1)
    * Initial version
    * 0.1-2 : fixed portability bugs in the unit tests
    * rename to avoid name conflicts
    * create module architecture
    * format comments for auto-generation
    * create unit tests for uncprb_get* functions
    * fixed problem #27 : almost.sci is missing
    * fixed gradient of problem #31 : Broyden Banded
    * launch optim and fminsearch on these benchmarks
    * fixed ambiguity of problem 35:   
	  -->uncprb_getname(35)  = rosex   
	  but getproblems indicates chebyquad
    * suppressed the fvec = fvec'
    * suppressed the %sum  
    * suppressed the zero = 0, one = 1, two = 2, etc...
    * checked conditions on n and m where appropriate
    * provided function value at optimum
    * provided optimum x when available
    * provided a classification
      * class 1 : Systems of Nonlinear Equations
      * class 2 : Non Linear Least Squares
      * class 3 : Unconstrained Minimization
    * create the overview in xml and generate the help
      * see .backup file and check against XXE
    * provided Hessian matrix when available (see algo 566)
    * checked exact Hessians with finite differences
    * run the fortran Algo 566 and compare the data
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.