3

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?

bobbaluba
  • 243
  • 2
  • 5
  • 1
    Did you already try something and find it unsuitable? I suppose it's hard to avoid evaluating the function itself at points where it is slow. – Juho May 17 '13 at 00:16
  • Did you find a solution to your problem? Gaussian processes work well to minimize number of evaluations of an expensive function you are trying to optimize. What is your problem anyways? – anthonybell Apr 11 '16 at 12:20
  • @anthonybell The problem was training a tetris AI. i.e. values of a feature vector => number of lines before game over. We solved it to some degree using a reinforcement learning algorithm which I can't remember the name of... https://www.youtube.com/watch?v=DXgtzFiRHdc – bobbaluba Apr 12 '16 at 09:31

0 Answers0