One of the most important rules in using CVX is that a ''less-than inequality constraint'' must be of the form

\begin{align} \textbf{CONVEX function} \leq \textbf{CONCAVE function} ~~~(1) \end{align}

However, it is not always easy for one to get such an inequality. In many cases, it might be of the form CONVEX function $\leq$ CONVEX function or CONCAVE function $\leq$ CONCAVE function. For these cases, we may transform them into the form (1), but what kind of methods should we use? Could you please suggest several widely used theorems/lemmas/methods to overcome the issue?

I've got the following problem as an example: $\| \textbf{a}^T\textbf{x} \|^2 \leq \| \textbf{B}\textbf{y} \|^2$ is the constraint with the right hand side (RHS) being convex function. Given that $\textbf{a}$ and $\textbf{B}$ are constant vector and matrix, what should we manipulate the inequality to make it suitable for the DCP ruleset of CVX?

  • 3
    $\begingroup$ The single most important rule in using CVX is that you must know, and prove, that your problem is convex *before* you attempt to use it. Yes, the DCP rules are important. But if you can't prove convexity first, there's no point in even trying for DCP. $\endgroup$ – Michael Grant May 9 '17 at 4:06

You can't. The set

$S=\left\{ (x,y)\; |\;\; \| a^{T}x \|^{2} \leq \| By \|^{2} \right\}$

simply isn't convex in general. You'll have to back up and find different constraints if you want to use convex optimization.


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.