cg_plus


cg_plus, a FORTRAN77 code which seeks the multidimensional minimizer x of a scalar function f(x) using the conjugate gradient method, assuming that the gradient vector g(x) can be computed, by Guanghui Liu, Jorge Nocedal, Richard Waltz.

To set up the code to minimize a particular function you need to specify the following variables in the main program:

and you need to change the FCN routine in the main program to calculate the function and gradient for the particular function you want to minimize.

Licensing:

This software is freely available for educational or commercial use, but we expect that all publications describing work using this software quote the Gilbert and Nocedal reference given below.

Languages:

cg_plus is available in a FORTRAN77 version.

Related Data and Programs:

cg_plus_test

asa047, a FORTRAN77 library which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

BRENT, a FORTRAN90 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.

COORDINATE_SEARCH, a MATLAB program which minimizes a scalar function of several variables using the coordinate search algorithm.

DQED, a FORTRAN90 library which solves constrained least squares problems.

ENTRUST, a MATLAB program which minimizes a scalar function of several variables using trust region methods.

MINPACK, a FORTRAN90 library which carries out the least squares minimization of the residual of a set of linear or nonlinear equations.

NELDER_MEAD, a MATLAB program which minimizes a scalar function of several variables using the Nelder-Mead algorithm.

NL2SOL, a FORTRAN90 library which implements an adaptive nonlinear least-squares algorithm.

PRAXIS, a FORTRAN90 library which minimizes a scalar function of several variables.

TEST_OPT, a FORTRAN90 library which defines a number of problems for the minimization of scalar functions of multiple variables.

TOMS611, a FORTRAN90 library which minimizes a scalar functional of multiple variables.

Reference:

  1. https://users.iems.northwestern.edu/~nocedal/CG+.html
  2. Jean Charles Gilbert, Jorge Nocedal,
    Global Convergence Properties of Conjugate Gradient Methods,
    SIAM Journal on Optimization,
    Volume 2, Number 1, 1992, pages 21-42.
  3. Jorge More, David Thuente,
    Linesearch Algorithms with Guaranteed Sufficient Decrease,
    ACM Transactions on Mathematical Software,
    Volume 20, Number 3, September 1994, pages 286-307.

Source Code:


Last revised on 22 September 2023.