I would like to solve an optimization problem \max_{x\in \mathbb{R}^n,x\geq0} \varphi(x)=\mathbb{P}[\xi\leq b+Ax], where \xi \in\mathbb{R}^m is a Gaussian random vector with variance-covariance matrix \Sigma and mean \mu. I formed a problem with standard normal as follows, \mathbb{P}[\xi\leq b+Ax]=\mathbb{P}[W(\xi - \mu)\leq W(Ax+b-\mu)], where W is the whitening matrix.
Therefore, the r.v. follows the standard multivariate normal distribution. The problem becomes: \max_{x\in \mathbb{R}^n,x\geq0} \Phi(WAx+W(b-\mu)), where \Phi is the CDF of the standard multivariate normal. As \Phi is quasiconcave, I planned to solve this problem by posing a series of convex feasibility problems.
The original problem is equivalent to the feasibility problem. \begin{array}{*{20}{c}}
{{\rm{find}}}&x\\
{{\rm{s}}{\rm{.t}}{\rm{.}}}&{\Phi \left( {WAx + W\left( {b - \mu } \right)} \right) \ge \eta }\\
{}&{x \ge 0}
\end{array}
I wanted to solve this quasiconcave problem by the bisection method. However, when I tried to solve the value of the first constraint with the function of mvncdf, it reported an error.! My program is shown below:
If you do come back, you need to read and heed the FAQ. If you had you would not have attempted to use mvncdf with CVX, as it is not among the functions accepted by CVX.
Following your suggestions, I read the users’ guide again. It seems mvncdf is illegal in CVX.
I’ll try other ways to solve this problem.
Thank you for your kind reply.
Oh please, no apologies are needed! You are not being rude. But I do wish I could figure out how to get more people to read the instructions and the FAQ before they waste their time using CVX! Because indeed, many people try to use CVX on problems that will never be accepted, and we try to be as clear as possible about this fact in the documentation.