I am doing physics simulation and have to minimize a function $f$ of approx. 10 parameters $f=f(x_1, x_2, ... , x_{10} )$. I have already looked into several optimization algorithms (downhill-simplex, stochastic gradient descent, Adam, ...). The general problem for my specific case is that 'calculating' the function $f$ with one set of parameters $x_1 ... x_{10}$ means doing a full simulation which needs about 10 minutes to finish. The function is smooth (although a bit noisy) and I can define fixed boundaries for all parameters $x_i$ out of which the result becomes unphysical.
So, is there any optimization algorithm that specifically works well for the case where calculating the function is very costly?