Non Convex Optimizer
Ich verwende python2.7 und muss das Maximum einer multivariaten Skalarfunktion finden.
it anderen Worten, ich habe diese Funktion:
def myFun(a,b,c,d,e,f):
# complex calculation that takes about 30 seconds
return res # res is a float
Diese Funktion ist NICHT konvex.
Ich gebe den min und max möglichen Wert für jedes Argument a, b, c, d, e und f an. Ich muss herausfinden, welche Kombination von Argumenten ungefähr den Maximalwert für @ ergibmyFun
. Ich werde es ein anständiger Ausgangspunkt füttern.
Ich habe versucht, eine Brute-Force-Gittersuche durchzuführen, aber angesichts der Zeit, die meine Funktion für die Berechnung benötigt, ist sie nicht realisierbar.
Ich habe in das Scipy-Paket geschaut. Ich habe insbesondere das @ gesehscipy.optimize.fmin_slsqp
Funktion. Wäre das für mein Problem angemessen? Oder vielleichtscipy.optimize.fmin()
? Gibt es eine andere Funktion / ein anderes Modul, die / das dafür geeignet ist?