# How can I solve maximum probability program?

(Li Xin) #1

Dear Professor,

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:

Is there any way to solve this problem? Do you have any suggestions to deal with this problem?
Thanks a lot!

Best wishes,
Xin

(Mark L. Stone) #2

(Michael C. Grant) #3

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.

(Li Xin) #4

Yes, I tried both CVX and YALMIP, but I failed.

I couldn’t find ways to deal with this problem. So, I tried to post this problem on both forums.

Please do not blame me for my rudeness.

(Mark L. Stone) #5

You are forgiven if you heed the FAQ Why isn't CVX accepting my model? READ THIS FIRST!

(Li Xin) #6

Thank you for your suggestions! I will try other ways to solve this problem.
I’m sorry to bother you. : )

(Li Xin) #7

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.