Die constOptim Funktion ist R gibt mir eine Reihe von Parameterschätzungen. Diese Parameterschätzungen geben Werte an 12 verschiedenen Punkten im Jahr aus und sollten monoton abnehmen.
Ich brauche sie monoton und für die Lücken zwischen den einzelnen Parametern für die Anwendung, die ich mir vorstelle. Für diese Zwecke ist das Muster der Ausgabenwerte wichtig und nicht die absoluten Werte. Ich denke, im Optimierungsbereich bedeutet das, dass ich die Toleranz im Vergleich zu den Unterschieden in den Parameterschätzungen klein halten muss.
Die Ausgabe der Funktion ist nicht monoton.
%Vor%
Ich habe es versucht:
outer.eps = 1e-10
) outer.iterations = 100
) Andere SO-Fragen konzentrieren sich auf Schwierigkeiten beim Schreiben der Einschränkungen für constOptim wie:
Ich habe nichts gefunden, das Toleranzen oder Unzufriedenheit mit der Ausgabe untersucht.
Dies ist nicht genau eine Antwort, aber es ist länger als ein Kommentar und sollte hilfreich sein.
Ich denke, Ihr Problem hat eine analytische Lösung - das ist gut zu wissen, wenn Sie einen Optimierungsalgorithmus testen.
Hier ist es, wenn das Budget auf 1.0 festgelegt ist.
%Vor%Hier verbraucht der Verbraucher in den Perioden {0, 1, ..., T-1}. Die Lösung nimmt mit dem Zeitindex tatsächlich monoton ab. Ich habe das bekommen, indem ich einen Lagrangian eingerichtet habe und mit den Bedingungen erster Ordnung gearbeitet habe.
BEARBEITEN:
Ich habe Ihren Code umgeschrieben und alles scheint richtig zu funktionieren: constrOptim bietet eine Lösung, die mit meiner analytischen Lösung übereinstimmt. Das Budget ist auf 1 festgelegt.
%Vor%Follow-up über Gradienten:
Die Optimierung scheint sogar mit grad = NULL zu funktionieren, was bedeutet, dass es wahrscheinlich einen Fehler in Ihrem Code gibt. Schau dir das an:
%Vor%Follow-up über Rho = 0,996 Fall:
Als rho- & gt; 1 sollte die Lösung gegen rep (1 / T, T) konvergieren - das erklärt, warum schon kleine Fehler von constrOptim merklich beeinflussen, ob die Ausgabe monoton abnimmt oder nicht.
Bei rho = 0,996 scheint der Optimierungsparameter die Ausgabe von contrOptim so zu beeinflussen, dass die Monotonie geändert wird - siehe unten:
%Vor%Wenn Sie den richtigen Abstimmparameter wählen, erhalten Sie ein monoton fallendes Ergebnis auch ohne den Gradienten.
Tags und Links r mathematical-optimization