$W$ is a vector of $N$ complex elements. $D$ is a binary variable

The requirements are: when $D==1$, $L_{\min}\le ||W||_2^2\le L_{\max}$ and when $D==0$, $||W||_2^2=0$

I have formulated the following constraints to fulfill the requirements

$||W||_2^2\ge 0$

$||W||_2^2\le L_{\max}$

$||W||_2^2\le DL_{\max}$

$||W||_2^2\ge DL_{\min}$

Using programming language

 norm(W)>= 0

norm is a convex function. Is convex>=0 a valid model?

Have I modeled them correctly?

  • 2
    $\begingroup$ Since norm is a convex function, you obtain a nonconvex quadratic model as you have lower constraint on it. Gurobi is capable of solving mixed-integer nonconvex quadratics, and as you speak of CVX below and thus work in MATLAB, you might want to know thatt YALMIP supports this mode in Gurobi..Mosek is not applicable, and neither is CVX. $\endgroup$ – Johan Löfberg Dec 4 '20 at 20:37
  • $\begingroup$ @JohanLöfberg, thanks for your comment. Unfortunately I am employing MOSEK with CVX, and CVX does not accept this and throws error. $\endgroup$ – dipak narayanan Dec 8 '20 at 0:46
  • $\begingroup$ Yes, as clearly stated, you simply cannot model this using cvx+mosek $\endgroup$ – Johan Löfberg Dec 8 '20 at 6:00

The first and second constraints can be omitted. The third and fourth constraints are sufficient, as you can see by considering both cases for $D$.

  • $\begingroup$ thanks. Is the fourth constraint valid for modeling perspective as norm(W)>= constant in non-convex. $\endgroup$ – dipak narayanan Dec 4 '20 at 18:57
  • 2
    $\begingroup$ It is valid mathematically. Whether a specified solver will accept it is a different story. $\endgroup$ – RobPratt Dec 4 '20 at 19:00
  • $\begingroup$ thanks. I am employing disciplined convex programming toolbox CVX with MOSEK solver. You mean a different MILP solver may accept this constraint? $\endgroup$ – dipak narayanan Dec 4 '20 at 19:58

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.