All "hill-climbing" algorithms depend on the assumption that small changes in the input result in (typically) small changes in the output. Your description of the problem includes absolutely no restrictions on the form of the function graph (except for your interest in probabilistic hill climbing, which implies that it does apply to your domain). You couldn't use hill climbing on a cryptographic hash function, for example.
But the best algorithm depends largely on additional characteristics of the problem:
Simulated annealing starts with large "jumps" that get progressively smaller, the idea being that you end up on the largest "hill" (or valley, since you formulate your goal as a minimum) before your jumps get too small and you get trapped there.
The genetic algorithm is good when the different parameters, or groups of them, are semi-independent of each other. The idea is that the small groups of parameters can be independently optimized by local hill-climbing, and the recombination function may bring together several optimized sub-groups to produce a super-solution. It is useless if all parameters are tightly coupled.
Other algorithms are similarly best suited to different problem profiles. (And unfortunately, your problem description doesn't seem to include the relevant properties.)
In short: While a mathematical formula is not a requirement, you do need some understanding of how the graph of your function behaves, and any projection invariants (quantities that contribute to x
but do not depend on all four parameters a, b, c, d
). This last will also be helpful for speeding up the calculation of the function's values, which as you say is extremely expensive. I would suggest you at least graph some low-resolution slices across your search space. They might give you some ideas.
PS. If the quality of the solution is more important than calculation time, you could always implement several approaches, run them in parallel, and keep the best solution.