L-BFGS-B  3.0
Large-scale Bound-constrained Optimization
active.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine active (n, l, u, nbd, x, iwhere, iprint, prjctd, cnstnd, boxed)
 This subroutine initializes iwhere and projects the initial x to the feasible set if necessary. More...
 

Function/Subroutine Documentation

◆ active()

subroutine active ( integer  n,
double precision, dimension(n)  l,
double precision, dimension(n)  u,
integer, dimension(n)  nbd,
double precision, dimension(n)  x,
integer, dimension(n)  iwhere,
integer  iprint,
logical  prjctd,
logical  cnstnd,
logical  boxed 
)

This subroutine initializes iwhere and projects the initial x to the feasible set if necessary.

Parameters
nnumber of parameters
llower bounds on parameters
uupper bounds on parameters
nbdindicates which bounds are present
xposition
iwhereOn entry iwhere is unspecified.
On exit: iwhere(i)=
  • -1 if x(i) has no bounds
  • 3 if l(i)=u(i),
  • 0 otherwise.
In cauchy, iwhere is given finer gradations.
iprintconsole output flag
prjctdOn exit .true. if any input x(i) had to be clipped onto its bound (the user supplied an infeasible starting point).
cnstndOn exit .true. if any variable has at least one bound (any nbd(i) /= 0); .false. for purely unconstrained problems.
boxedOn exit .true. iff every variable has both lower and upper bounds (every nbd(i) == 2); .false. otherwise.

Definition at line 35 of file active.f.

Referenced by mainlb().

Here is the caller graph for this function: