Métodos de gradiente

Los métodos de gradiente son métodos numéricos para resolver problemas usando un gradiente , que se reducen a encontrar los extremos de una función.

Enunciado del problema de resolución de un sistema de ecuaciones en términos de métodos de optimización

La tarea de resolver un sistema de ecuaciones :

(una)

c es equivalente al problema de minimizar la función

(2)

o alguna otra función creciente de los valores absolutos de los residuos (errores) , . El problema de encontrar el mínimo (o máximo) de una función de variables es en sí mismo de gran importancia práctica.

Para resolver este problema usando métodos iterativos , uno comienza con valores arbitrarios y construye aproximaciones sucesivas:

o coordinadamente:

(3)

que convergen a alguna solución para .

Los diferentes métodos difieren en la elección de la "dirección" para el siguiente paso, es decir, la elección de las relaciones

.

El valor del paso (la distancia para moverse en una dirección dada en busca de un extremo) está determinado por el valor del parámetro que minimiza el valor en función de . Esta función generalmente se aproxima por su expansión de Taylor o por un polinomio de interpolación sobre tres a cinco valores elegidos . El último método es aplicable para encontrar el máximo y el mínimo de una función de tabla .

Métodos de gradiente

La idea principal de los métodos es ir en la dirección de la bajada más empinada, y esta dirección viene dada por el anti-gradiente :

donde se selecciona:

Método de descenso más pronunciado ( método de gradiente )

Elija dónde se calculan todas las derivadas y reduzca la longitud del paso a medida que se acerque al mínimo de la función .

Para funciones analíticas y valores pequeños, la expansión de Taylor permite elegir el tamaño de paso óptimo

(5)

donde todas las derivadas se calculan en . La interpolación de funciones parabólicas puede ser más conveniente.

Algoritmo
  1. Se establecen la aproximación inicial y la precisión del cálculo.
  2. cuenta donde
  3. Compruebe la condición de parada:
    • Si , vaya al paso 2.
    • De lo contrario , deténgase.

Método de descenso de coordenadas de Gauss-Seidel

Este método se denomina por analogía con el método de Gauss-Seidel para resolver un sistema de ecuaciones lineales. Mejora el método anterior debido a que en la siguiente iteración el descenso se realiza gradualmente a lo largo de cada una de las coordenadas, pero ahora es necesario calcular nuevas una vez en un solo paso.

Algoritmo
  1. Se establecen la aproximación inicial y la precisión del cálculo.
  2. cuenta donde
  3. Compruebe la condición de parada:
    • Si , vaya al paso 2.
    • De lo contrario , deténgase.

Método de gradiente conjugado

El método del gradiente conjugado se basa en los conceptos del método directo de optimización multidimensional  : el método de las direcciones conjugadas .

Aplicando el método a funciones cuadráticas en determina el mínimo en pasos.

Algoritmo
  1. Están dados por la aproximación inicial y el error:
  2. Calcular la dirección inicial:
    • Si o , entonces deténgase.
    • De lo contrario
      • si , entonces vaya a 3;
      • de lo contrario , vaya a 2.

Véase también

Literatura

  • Akulich I.L. Programación matemática en ejemplos y tareas: Proc. Subsidio para la economía de los estudiantes. especialista. universidades - M. : Superior. escuela, 1986.
  • Gill F., Murray W., Wright M. Optimización práctica. Por. De inglés. — M .: Mir, 1985.
  • Korshunov Yu.M., Korshunov Yu.M. Fundamentos matemáticos de la cibernética. — M .: Energoatomizdat, 1972.
  • Maksimov Yu.A.,Filipovskaya E.A. Algoritmos para la resolución de problemas de programación no lineal. — M. : MEPHI, 1982.
  • Maksimov Yu.A. Algoritmos para programación lineal y discreta. — M. : MEPhI, 1980.
  • Korn G., Korn T. Manual de matemáticas para científicos e ingenieros. - M. : Nauka, 1970. - S. 575-576.