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?

  • $\begingroup$ Have you already looked into mixed integer programming? TO me it reads like a fine fit for a LP/IP model. $\endgroup$ – emiru Nov 26 '20 at 14:15
  • $\begingroup$ Never heard of mixed integer programming so I will look into it - thanks! $\endgroup$ – jcken Nov 26 '20 at 17:16
  • $\begingroup$ @emiru I've had a look at MIP and I'm not entirely sure if it will work? My objective function isn't necessarily quadratic or linear $\endgroup$ – jcken Nov 27 '20 at 8:47
  • $\begingroup$ try to make it linear but transforming your objective function. If you cannot then that's where "separable programming" comes in: model you non linear function as piecewise linear $\endgroup$ – emiru Nov 27 '20 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.