NonlinearProgramming.gradient_descent

zur Minimierung einer differenzierbaren Zielfunktion

Funktionsübersicht
.minimize.maximize.gradient_descent.set_accuracy.set_maximal_iterations.get_number_of_iterations
Beschreibung
Die Funktion besitzt folgende Argumente:
fFunktion oder String
zVektor, d.h. eindimensionales Array
Ausgehend von der Startlösung z wird die Zielfunktion f unter Verwendung des Gradientenverfahrens minimiert. Dabei wird (ohne Prüfung) vorausgesetzt, dass die Zielfunktion differenzierbar ist. Alle notwendigen Gradienten werden numerisch bestimmt.
Falls das Verfahren gegen ein lokales Minimum konvergiert, so wird ein Array bestehend aus dem lokalen Minimum sowie dem zugehörigen Zielfunktionswert ausgegeben. Wird anderenfalls eine maximale Anzahl an Iterationen erreicht, ohne dass zuvor ein lokales Minimum gefunden wurde, so wird die bislang beste Lösung samt Zielfunktionswert ausgegeben. Ist das Problem umbeschränkt oder numerisch schlecht gestellt, so wird ein entsprechender String ausgegeben.
Die Zielfunktion f kann dabei als Funktion mit einem Array als Argument oder aber als String mit x1 bis xn als Variablen übergeben werden. Falls f als String gewählt wird, so stehen die Funktionen acos, asin, atan, cos, exp, log, sin, sqrt und tan sowie die Konstanten E und PI zur Verfügung. Die Startlösung z ist stets als Array zu übergeben.
Beispiel
Das folgende Beispiel löst ein nichtlineares Optimierungsproblem mit drei Variablen, wobei die Zielfunktion als Funktion mit einem Array als Argument definiert wird. Anschließend wird die Lösung, der zugehörige Zielfunktionswert sowie die Anzahl der Iterationen ausgegeben.
Vorschau aktualisieren
Beispiel
Das folgende Beispiel löst ein nichtlineares Optimierungsproblem mit drei Variablen, wobei die Zielfunktion als String definiert wird. Anschließend wird die Lösung, der zugehörige Zielfunktionswert sowie die Anzahl der Iterationen ausgegeben.
Vorschau aktualisieren
Beispiel
Das folgende Beispiel löst ein nichtlineares Optimierungsproblem mit einer Variablen, wobei die Zielfunktion diverse lokale Minima jedoch nur ein globales Minimum besitzt. Die Startlösung z hat daher einen großen Einfluss auf das Ergebnis des Verfahrens.
Tipp: Verändere den Startwert, aktualisiere die Vorschau und beobachte das Ergebnis.
Vorschau aktualisieren