I have a function with 8 inputs, which yields a single output. I do not know what the function does and so cannot use any derivative-based method to minimise said output. Currently this is done by picking n random vectors, with some bounds for each input, obtaining an output value for each vector, and picking the lowest output from a vector of n.
I have been told to try Ant Colony Optimisation, however I struggle to see how I could implement that for a function with that many inputs.
Any ideas as to how to approach this problem in a better way than it is currently being done will be much appreciated.
The function itself takes a non-negligible time to run, so I am interested in ways to most efficiently (solving the function as low number of times as possible) find a minimum.
EDIT: The bounds for each of the 8 inputs are (0,1), but could conceivably be tightened a little bit.
EDIT 2: The function is actually a collection of processes, a simulation of sorts, it produces a number of outputs. I have those 8 inputs which I am trying to calibrate such that the outputs closely match the reality I am simulating. So I have 'observed' values for those outputs, and the simulated ones for each set of 8 inputs. That's how the 'loss' is defined: as distance from that fixed set of observed values. I do not know limits, or whether it is differentiable.