Ihr Optimierungsproblem hat zwei konkurrierende Ziele: Maximieren von und Maximieren von . Dies wird als Optimierung mit mehreren Zielen (oder mehreren Kriterien ) bezeichnet, und solche Probleme haben eine unendliche Anzahl von Lösungen, die jeweils auf einer spezifischen Wahl des relativen Gewichts der Ziele basieren (dh ist es wichtiger, dass nahe beieinander liegt auf den Maximalwert als für ?). Wenn beide für Sie die gleiche Bedeutung haben, können Sie einfach die Funktion minimieren
wobei und sind die bekannten Maximalwerte vonk=f1(p1,p2)t=f2(p1,p2)f1f2F(p1,p2)=(f1(p1,p2)−K)2+(f2(p1,p2)−T)2,
KTkbzw. . Andernfalls würden Sie vor jedem Begriff ein entsprechendes Gewicht hinzufügen. (Wenn die nicht bekannt , würden Sie stattdessen minimieren .)t−f21−f22
Um einen Minimierer von , können Sie nur Funktionswerte von an einem bestimmten Punkt . Dies ist als derivatfreie Optimierung bekannt. siehe z. B. Einführung in die derivatfreie Optimierung von Conn, Scheinberg und Vicente oder Kapitel 9 in Numerische Optimierung . Die meisten von ihnen verwenden ungefähre Ableitungen, die auf endlichen Differenzen basieren, oder Ableitungen von Interpolationsfunktionen. Da eine Funktion von nur zwei Variablen ist, ist es nicht zu teuer (oder instabil), endliche Differenznäherungen des vollständigen Hessischen zu erstellen. Die Idee ist folgende: Wenn ein Punkt , konstruieren Sie ein lokales quadratisches Modell
FF(p1,p2)Fpk=(pk1,pk2)mk(pk+d)=F(pk)+(gk)Td+12dTHkd,
berechne seinen Minimierer und setze . Hier für ein kleines (aber nicht zu kleines, siehe unten) ,
mit und ist der ungefähre Gradient und
ist eine Taylor-Näherung des Hessischen. Dies erfordert die Bewertung vondkpk+1=pk+dkϵ>0gk=(g1,g2)T,gi=F(pk+ϵei)−F(pk−ϵei)2ϵ
e1=(1,0)Te2=(0,1)THk=(h11h21h12h22),hij=F(pk+ϵei+ϵej)−F(pk+ϵei)−F(pk+ϵej)+F(pk)ϵ2
F an 5 zusätzlichen Punkten in jeder Iteration.
Ein wichtiges Problem bei jeder Finite-Differenzen-Approximation ist die Wahl von : Wenn es zu groß ist, haben Sie eine schlechte Approximation der Ableitung; Wenn es zu klein ist, besteht die Gefahr einer Stornierung und damit einer numerischen Instabilität. Eine gute Faustregel ist, , wobei die Einheitsrundung ist (ungefähr für doppelte Genauigkeit).ϵϵ=u1/3u10−16
In der Praxis möchten Sie dies mit einer Trust-Region-Strategie kombinieren, bei der Sie benötigen, um in einen Ball zu gelangen, dessen Radius Sie während der Iteration anpassen (siehe die oben genannten Bücher).dk
Einen Vergleich von Algorithmen und Implementierungen zur derivatfreien Optimierung finden Sie auf dieser Webseite , die dem Artikel "Derivatfreie Optimierung: Ein Überblick über Algorithmen und ein Vergleich von Softwareimplementierungen" von Luis Miguel Rios und Nikolaos V. Sahinidis beigefügt ist
p1
undp2
so , dassk
undt
zu erreichen (so nah wie möglich) ihre Maximalwerte? Ich gehe davon aus, dass Sie eine Funktion haben, die beip1
undp2
den Wert vonk
und zurückgibtt
, aber keine Informationen zu den Ableitungen vonk
undt
in Bezug aufp1
undp2
?