I have a function which takes 22 real-valued parameters as input that returns a real value. The function is reasonably fast for low return values (ms/seconds/minutes), but takes much longer (minutes/hours) to compute for high/optimal values. The noise will also increase with higher values.
I expect the function to contain many local maxima, and I cannot use vanilla gradient descent.
I want to find the parameters that maximize the expected return value.
As this is going to run on a desktop computer, I don't mind storing all inputs and results in memory, as the limitation is probably going to be the run-time anyway.
Do you have any suggestions for an appropriate optimization algorithm?