Ich wollte eine der Minimierungsmethoden innerhalb von sicpy.minimize
auf eine Funktion anwenden, die nicht immer glatte Derivate liefert. Ich habe mich mit der Nelder-Mead
Implementierung der Simplex-Methode vertraut gemacht, aber es scheint nicht das Begrenzungsargument zu akzeptieren: (...,bounds=[xmin, xmax],...)
. Wenn man diese documentation liest, scheinen nur die L-BFGS-B-, TNC- und SLSQP-Methoden Grenzen zu akzeptieren, und alle drei basieren in irgendeiner Weise auf Newtons Methode und berechnen entweder eine numerische Ableitung oder akzeptieren eine.Wie man Simplex-ähnliche "Robustheit" zusammen mit Grenzen in SciPy bekommt?
Ich kenne den genauen Begriff nicht, aber ich suche nach einer 'Simplex-ähnlichen' oder 'derivativlosen Methode' in scipy
, die Grenzen akzeptiert, aber auch Funktionen verzeiht, die keine glatte Ableitung liefern (Ein Beispiel ist treppenartiges Verhalten). Für jetzt mache ich 1d. Später kann ich Dimensionen hinzufügen, aber das ist momentan nicht kritisch.
Ich suche nach einer Minimierungsmethode in SciPy, die keine Derivate verwendet und Grenzen zulässt. 1d wird für jetzt tun. * Wie ist das zu breit? * Entweder gibt es einen oder gibt es nicht. – uhoh
Für 1d, schau hier http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.optimize.minimize_scalar.html –