My optimization problem needs to have a constraint that I am not sure can be expressed in convex functions.
The vector I want to optimize is $x$ with size $m\approx 10$ . I have a tall $n \times m$ matrix $A$ where $n \approx 10^5$. I have another "weights" vector $w \geq 0$ of size $n$. I want to have a constraint such that the weighted standard deviation of $y = Ax$ be within relatively tight range. I don't mind if it's $L^1$ or $L^2$ norm. i.e. the constraint could be written as
$$20 \leq \frac{\displaystyle\sum_i w_i |y_i|}{\displaystyle\sum_i w_i} \le 20.1$$ or
$$20 \leq \sqrt{\frac{\displaystyle\sum_i w_i y^2_i}{\displaystyle\sum_i w_i}} \le 20.1 $$
so I can put into a convex programming solver. The thing is this constraint doesn't look convex to me. The function itself is convex but the $20 \leq $ constraint is not standard in convex optimization. If I express it as an equality constraint, it also doesn't look affine. Any tricks to reformate it?
I have looked up some similar problem. It somewhat looks like the portfolio optimization problem where one maximizes the return while keeping the risk below a threshold (section 1.3 of this PDF), but not exactly the same..
[EDIT] if I have to choose one constraint, $\sigma \geq \gamma_{\min}$ is actually more important than $\sigma \leq \gamma_{\max}$.