I have an optimisation problem which is potentially quite tricky.
Consider the problem of allocating a discrete number of resources (in my case, they are spare mechanical components for a large engineering project).
Suppose all my resources are stored in warehouse. My warehouse can only store so many components so I need to pick how I divide my warehouse up: I need to pick the maximum number of each component to store in the warehouse ($9$ discrete numbers), call these $s_i \in \mathbb{N}$, $i = 1, 2, \ldots, 9$.
Over time, the spare components deplete. I can buy in more components, but I need to pick when to order more spares. I do this when the number of spares of type $i$ reaches $d_is_i$, (or $100d_i \%$ of $s_i$) $0<d_i<1$. Here I need to pick the continuous parameters $d_i$.
I have a stochastic simulation which predicts the performance of the project given $(s, d)$. The stochastic simulation is quite expensive to compute, approx $5$ mins for $1$ run. The results of this stochastic simulation feed into a utility function which I need to optimise (or rather maximise the expected utility $U(\cdot)$ w.r.t. $(s,d)$)
The problem here is that I need to maximise $U$ with respect to a mixture of continuous and discrete parameters, there is also the problem that the simnulator is expensive but I plan on using a Gaussian Process surrogate to get around that issue. There are around $10^{34}$ combinations for the discrete set of parameters so brute force will not work here!
My question is: What methods are there for 'mixed' optimisation problems? What are the pros and cons of each?