The inequality $x^3\leq y$ is not convex. But $0<x$ added to the above provides a convex region.
My question is whether in convex programming it is allowed to use both inequalities together and use convex programming techniques to solve?
Operations Research Stack Exchange is a question and answer site for operations research and analytics professionals, educators, and students. It only takes a minute to sign up.
Sign up to join this communityThe inequality $x^3\leq y$ is not convex. But $0<x$ added to the above provides a convex region.
My question is whether in convex programming it is allowed to use both inequalities together and use convex programming techniques to solve?
Since you requested a reference I suggest you look into Convex Optimization by Boyd and Vandenberghe. In Section "4.2.1 Convex optimization problems in standard form" you can see that they write $f(x) \leq 0$ for convex $f(x)$, and in the beginning of Chapter 3 you see that convex $f(x)$ really means convex on ${\rm dom}(f)$ which must be a convex domain. So in your example, i.e., $f(x,y) = x^3 - y \leq 0$, you just limit the domain to ${\rm dom}(f) = \mathbb{R}_+ \times \mathbb{R}$.
In practice I guess it might depend on the algorithm, but back in the days when MOSEK had a general convex programming solver we treated variable bounds (such as $0 \leq 𝑥$) as the domain on which functions were safe to evaluate, and made sure that these bounds were strictly satisfied in every iteration. Similar to Boyd and Vandenberghe, our algorithm only required that constraints were convex and twice differential within those variable bounds.
Note that general convex programming is nowadays almost obsolete as modern conic optimization has proven overall to be faster, better behaved and able to cover most usecases. Your example, $x^3 \leq y$, is equivalent on the domain, $0 \leq x$, to the power cone, $|x| \leq y^{1/3} z^{2/3}$, where $z=1$.