L-BFGS

L-BFGS

L-BFGS y L-BFGS-B son dos métodos de optimización quasi-Newton de funciones con un gran número de parámetros o de una gran complejidad. Se trata de un método que hace un uso limitado de la memoria (usa mucha menos memoria que otros algoritmos para el mismo problema); L-BFGS viene de BFGS de memoria limitada. Permite obtener el mínimo de una función. Únicamente necesita la función y su gradiente, pero no la matriz Hessiana. L-BFGS, desarrollado por Jorge Nocedal es capaz de resolver funciones sin restricciones, mientras que la variante L-BFGS-B (Jorge Nocedal y Richard Byrd) puede resolver funciones con restricciones simples (del tipo li < xi < ui, siendo xi la variable i-ésima y li y ui los límites inferior y superior de esa variable) en sus parámetros. Si las restricciones son complejas otros métodos, como KNITRO, deben ser usados.

Para cada iteración el algoritmo busca una aproximación de la matriz Hessiana, concretamente de su inversa. Si la función tiene N variables, la matriz Hessiana tiene N2 elementos. Si N es grande, el tiempo necesario para calcular toda la matriz de forma excata puede ser prohibitivo. Es por esto que se busca una aproximación.

Contenido

Algoritmo

Implementaciones

La implementación original fue escrita en Fortran:

  • [1]; Distribución L-BFGS para Unix/Linux (contiene código fuente, makefile y manual de usuario)
  • [2]; Distribución L-BFGS-B para Unix/Linux (contiene código fuente, makefile y manual de usuario)

Implementaciones en otros lenguajes:

Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • BFGS method — In mathematics, the Broyden Fletcher Goldfarb Shanno (BFGS) method is a method to solve an unconstrained nonlinear optimization problem. The BFGS method is derived from the Newton s method in optimization, a class of hill climbing optimization… …   Wikipedia

  • BFGS — En mathématiques, la méthode de Broyden Fletcher Goldfarb Shanno (BFGS) est une méthode permettant de résoudre un problème d optimisation non linéaire sans contraintes. La méthode BFGS est souvent implémentée comme un algorithme à directions de… …   Wikipédia en Français

  • BFGS — Broyden Fletcher Goldfarb Shanno [algorithm] …   Medical dictionary

  • BFGS — • Broyden Fletcher Goldfarb Shanno [algorithm] …   Dictionary of medical acronyms & abbreviations

  • L-BFGS — and L BFGS B are software packages for solving nonlinear optimization problems. They are designed for large scale applications in which the Hessian matrix is not available or is expensive to compute. To accelerate convergence, the two codes… …   Wikipedia

  • Méthode du gradient conjugué — En analyse numérique, la méthode du gradient conjugué est un algorithme pour résoudre des systèmes d équations linéaires dont la matrice est définie positive (et par conséquent symétrique). Cette méthode, imaginée en 1950 simultanément par… …   Wikipédia en Français

  • Davidon–Fletcher–Powell formula — The Davidon–Fletcher–Powell formula (or DFP; named after William C. Davidon, Roger Fletcher, and Michael J. D. Powell) finds the solution to the secant equation that is closest to the current estimate and satisfies the curvature condition (see… …   Wikipedia

  • Nonlinear conjugate gradient method — In numerical optimization, the nonlinear conjugate gradient method generalizes the conjugate gradient method to nonlinear optimization. For a quadratic function : The minimum of f is obtained when the gradient is 0: . Whereas linear conjugate… …   Wikipedia

  • List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

  • Gauss–Newton algorithm — The Gauss–Newton algorithm is a method used to solve non linear least squares problems. It can be seen as a modification of Newton s method for finding a minimum of a function. Unlike Newton s method, the Gauss–Newton algorithm can only be used… …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”