EMPIRE DA  v1.9.1
Data assimilation codes using EMPIRE communication
 All Classes Files Functions Variables Pages
lbfgsb_sub.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine lbfgsb_sub (n, factr_in, pgtol_in, x, nbd, l, u)
 Limited memory BFGS bound constrained optimization code as callable subroutine. More...
 

Function/Subroutine Documentation

subroutine lbfgsb_sub ( integer, intent(in)  n,
real(kind=dp), intent(in)  factr_in,
real(kind=dp), intent(in)  pgtol_in,
real(kind=dp), dimension(n), intent(inout)  x,
integer, dimension(n), intent(in)  nbd,
real(kind=dp), dimension(n), intent(in)  l,
real(kind=dp), dimension(n), intent(in)  u 
)

Limited memory BFGS bound constrained optimization code as callable subroutine.

L-BFGS-B is a code for solving large nonlinear optimization problems with simple bounds on the variables.

The code can also be used for unconstrained problems and is as efficient for these problems as the earlier limited memory code L-BFGS.

This is the simplest driver in the package. It uses all the default settings of the code.

 References:

    [1] R. H. Byrd, P. Lu, J. Nocedal and C. Zhu, ``A limited
    memory algorithm for bound constrained optimization'',
    SIAM J. Scientific Computing 16 (1995), no. 5, pp. 1190--1208.

    [2] C. Zhu, R.H. Byrd, P. Lu, J. Nocedal, ``L-BFGS-B: FORTRAN
    Subroutines for Large Scale Bound Constrained Optimization''
    Tech. Report, NAM-11, EECS Department, Northwestern University,
    1994.


      (Postscript files of these papers are available via anonymous
       ftp to eecs.nwu.edu in the directory pub/lbfgs/lbfgs_bcm.)

                          *  *  *

     March 2011   (latest revision)
     Optimization Center at Northwestern University
     Instituto Tecnologico Autonomo de Mexico

     Jorge Nocedal and Jose Luis Morales
Parameters
[in]nthe size of the state vector
[in]factr_inthe factr tolerance in the stopping criteria
[in]pgtol_inthe pgtol tolerance in the stopping criteria
[in,out]xon entry the initial guess, on exit the optimized state vector
[in]nbdnbd is an INTEGER array of dimension n that must be set by the user to the type of bounds imposed on the variables: nbd(i)=0 if x(i) is unbounded, 1 if x(i) has only a lower bound, 2 if x(i) has both lower and upper bounds, 3 if x(i) has only an upper bound.
[in]ll is a DOUBLE PRECISION array of length n that must be set by the user to the values of the lower bounds on the variables. If the i-th variable has no lower bound, l(i) need not be defined.
[in]uu is a DOUBLE PRECISION array of length n that must be set by the user to the values of the upper bounds on the variables. If the i-th variable has no upper bound, u(i) need not be defined.

Definition at line 210 of file lbfgsb_sub.f90.

Here is the call graph for this function:

Here is the caller graph for this function: