#include <F_LimitedBFGS_NLS.hpp>
Inheritance diagram for F_LimitedBFGS_NLS:
Purpose: Quasi-Newton Limited BFGS for large size unconstrained nonlinear problems. Papers: "On Limited Memory BFGS Method for Large SCale Optimisation", Dong C. Liu and Jorge Nocedal, Mathematical Programming 45 (1989), p503-528, NorthWestern University, USA. "Limited-Memory Matrix Methods with Applications", Tamara Gibson Kolda, Applied Math Progam, Dissertation of University of Maryland at College Park, 1997, USA. "Representation of Quasi-Newton Matrices and their Use in Limited Memory Methods", Richard H. Byrd, Jorge Nocedal, Robert B. Schnabel, Report January 21, 1996, NorthWestern University, USA. "A Limited Memory Algorithm for Bounded Constrained Optimisation", Richard H. Byrd, Jorge Nocedal & all, Report May, 1994, NorthWestern University, USA. "L-BFGS-B: Fortran Subroutines for Large-Scale Bound Constrained Optimisation", Richard H. Byrd, Jorge Nocedal & all, Report December 31, 1994, NorthWestern University, USA. "Large Scale Unconstrained Optimisation", Jorge Nocedal, Report June 23, 1996, NorthWestern University, USA. "Course Notes for MS4327 Optimisation", J. Kinsella, course March 30, 2004, University of ?. "Unconstrained Optimization" P.E. Frandsen, K. Jonasson, H.B. Nielsen O. Tingleff, Lecture 23/8/1999, Dep. of Mathematical Modeling, Technical University of Lyngby, Denmark. Apps.: "A Limited Memory BFGS Method for an Inverse Problem in Atmospheric Imaging.", Curtis R. Vogel, Montana State University, 2000. "Fast Algorithms for Phase Diversity-Based Blind Deconvolution", Curtis R. Vogel, Tony Chan, R. Plemmons, Montana State University & UCLA, 1998.
Public Methods | |
F_LimitedBFGS_NLS (int maxIterations, int M=5, double epsilon=1.0e-4) | |
virtual | ~F_LimitedBFGS_NLS () |
virtual FloatVector * | solve (AbsFObjectiveFn *fn, FloatVector *x=0) |
Protected Methods | |
virtual FloatVector * | bfgs_Hx (int level, FloatVector *d) |
virtual FloatVector * | singleSolve (AbsFObjectiveFn *fn, FloatVector *x=0) |
Private Attributes | |
int | m |
int | k |
FloatVectorQueue * | S |
FloatVectorQueue * | Y |
double | alpha |
FloatVector * | g |
FloatVector * | d |
FloatVector * | s |
FloatVector * | y |