Stochastic Optimization


(Milad Latifi) #1

Hi,
I want to solve an constrained stochastic convex problem having the PDF of the two variables. Which is the best solution to solve it (\mathbb{E} is expectation operator)?

\min_{x\in\mathcal X} \mathbb{E} (\alpha x^2 + \norm(x-\beta)^2)

subject to some linear and non-linear dynamic constraints…

where \alpha and \beta are stochastic with Gaussian and Weibull distributions, respectively.

Best regards,


(Mark L. Stone) #2

Your “objective function” as described is a random variable, not an objective function which can be minimized in its current form. You will have to apply some operation so as to produce a deterministic objective function, such as taking an expected value, or expected value of some risk function, or some such. For example, you could use 1/n*sum(norm(x-beta_samples)) where beta_samples is a vector of n sample values of beta, as a “sample average approximation” of E(norm(x-beta)), and this would be a DCP compliant term which could be entered in CVX . The alpha term enters linearly, so is straightforward to deal with. What you should do depends on the situation you are trying to model, and is out of scope of this forum. If your resulting model (or series of models) is convex and DCP compliant, you can implement it in CVX, and ask for assistance if needed at that point if you have a well-defined model.


(Milad Latifi) #3

Thank you very much. I want to take expected value (as is corrected) and use this model in repeated game theory field. At each stage I want to update the probabilities using Bayesian theory and so on.


(Milad Latifi) #4

However, the operator is optional and it can be good idea if I use another operation (e.g., expected value of some risk function) other than expectation.


(Mark L. Stone) #5

You may have a better way, or something you’d rather do. But if not, you can treat beta as I described above if that term is a straight expectation. If you want something other than a straight expectation, you’ll have to figure out what that should be.

Because alpha enters linearly, the expected value of the first term is E(alpha)*x^2. E(alpha) is the mean of the Gaussian distribution. CVX will accept this problem providing that that mean is non-negative, which is required for convexity (otherwise it would be non-convex, and you’d have to use a solver not available under CVX). .If you want something other than a straight expectation, you’ll have to figure out what that should be.


(Milad Latifi) #6

OK, thank you so much.