Gradientmetoder

Gradientmetoder är numeriska metoder för att lösa problem med hjälp av en gradient , som reduceras till att hitta ytterligheterna för en funktion.

Redogörelse för problemet med att lösa ett ekvationssystem i termer av optimeringsmetoder

Uppgiften att lösa ett ekvationssystem :

(ett)

c är ekvivalent med problemet med att minimera funktionen

(2)

eller någon annan ökande funktion av de absoluta värdena av residualer (fel) , . Problemet med att hitta minimum (eller maximum) för en funktion av variabler är i sig av stor praktisk betydelse.

För att lösa detta problem med iterativa metoder , börjar man med godtyckliga värden och konstruerar successiva approximationer:

eller koordinatmässigt:

(3)

som konvergerar till någon lösning för .

Olika metoder skiljer sig åt i valet av "riktning" för nästa steg, det vill säga valet av relationer

.

Stegvärdet (avståndet att röra sig i en given riktning på jakt efter ett extremum) bestäms av värdet på parametern som minimerar värdet som en funktion av . Denna funktion är vanligtvis approximerad av dess Taylor-expansion eller av ett interpolationspolynom över tre till fem valda värden . Den sista metoden är användbar för att hitta max och min för en tabellfunktion .

Gradientmetoder

Huvudidén med metoderna är att gå i riktning mot den brantaste nedstigningen, och denna riktning ges av antigradienten :

var är valt:

Brantaste nedstigningsmetod ( gradientmetod )

Välj , där alla derivator beräknas vid , och minska steglängden när du närmar dig funktionens minimum .

För analytiska funktioner och små värden tillåter Taylor-expansionen att välja den optimala stegstorleken

(5)

där alla derivat är beräknade till . Parabolfunktionsinterpolation kan vara bekvämare.

Algoritm
  1. Initial approximation och beräkningsnoggrannhet är inställda
  2. Räkna var
  3. Kontrollera stopptillståndet:
    • Om , gå sedan till steg 2.
    • Annars sluta.

Gauss-Seidel metod för koordinatnedstigning

Denna metod kallas analogt med Gauss-Seidel-metoden för att lösa ett system av linjära ekvationer. Förbättrar den tidigare metoden på grund av det faktum att vid nästa iteration utförs nedstigningen gradvis längs var och en av koordinaterna, men nu är det nödvändigt att beräkna nya en gång i ett steg.

Algoritm
  1. Initial approximation och beräkningsnoggrannhet är inställda
  2. Räkna var
  3. Kontrollera stopptillståndet:
    • Om , gå sedan till steg 2.
    • Annars sluta.

Konjugerad gradientmetod

Den konjugerade gradientmetoden är baserad på koncepten för den direkta metoden för flerdimensionell optimering  - metoden för konjugerade riktningar .

Att tillämpa metoden på kvadratiska funktioner i bestämmer minimum i steg.

Algoritm
  1. De ges av den initiala approximationen och felet:
  2. Beräkna startriktningen:
    • Om eller , sluta då.
    • Annat
      • om , gå sedan till 3;
      • annars , gå till 2.

Se även

Litteratur

  • Akulich I.L. Matematisk programmering i exempel och uppgifter: Proc. bidrag för studenters ekonomi. specialist. universitet. - M . : Högre. skola, 1986.
  • Gill F., Murray W., Wright M. Praktisk optimering. Per. från engelska. — M .: Mir, 1985.
  • Korshunov Yu.M., Korshunov Yu.M. Matematiska grunder för cybernetik. — M .: Energoatomizdat, 1972.
  • Maksimov Yu.A., Filipovskaya E.A. Algoritmer för att lösa problem med icke-linjär programmering. — M .: MEPhI, 1982.
  • Maksimov Yu.A. Algoritmer för linjär och diskret programmering. — M .: MEPhI, 1980.
  • Korn G., Korn T. Handbok i matematik för vetenskapsmän och ingenjörer. - M . : Nauka, 1970. - S. 575-576.