Find parameters to maximise output score Not sure this is the right place to ask. Lets say there is a function f() where its implementation is unknown but it returns a score. I would like to get the highest possible score by modifying the input parameters. I also try to be better than brute force (finding all possible combination of input parameters, if that is even possible)
I do know that

f() runs an algorithm against a known dataset. The algorithm is tweaked by the input parameters.
f() needs 6 parameters
I know the type of each parameter (int, float, boolean)
I know the range of each parameter i.e [-1,5](int), [0,1](float, percentage, i.e 0.5 = 50%)
Some parameters have an open range i.e &gt;1 (int)
Some are dependent of each other. i.e min and max parameter. That is min &lt; max.

Any good pointers to algorithms that could help me solve that would be highly appreciated.
In this kind of optimization problem a genetic algorithm is often a good approach, assuming computing the value of  f() is not too costly.
The idea is to represent the 6 parameters as &quot;genes&quot;. In the first generation their values are assigned randomly, then each &quot;individual&quot; in the generation (combination of parameters) is evaluated (i.e. calculate f), and the top performing &quot;individuals&quot; are selected. The next generation is obtained by cross-over and random mutation, and the process is repeated until f converges to a maximum.