[Math] Linear program with quadratic (L2 norm) constraint

constraintsconvex optimizationoptimizationqclp

I would like to solve an optimization problem of the type

$$ \min_x x^T c, \quad s.t. \|x\|_2 \leq k \; \land \; a \leq x_i \leq b \; \forall i$$

efficiently (note the quadratic norm constraint), where $x, c \in \mathbb{R}^N$ and $a, b, k \in\mathbb{R}$. The dimension $N$ is large, i.e., in the ten thousands. How would I do this?

In case this makes it any easier: in my particular example, $a=0$, i.e., all entries of $x$ need to be positive. This does not hold for $c$, though.

This 6-year old question is probably related, but answers there are inconclusive, and my case is less general. (The $H$ in that question is simply the identity matrix in my problem.)

Best Answer

Your problem is a second order cone programming (SOCP) problem. There are specialized interior point solvers for these kinds of problems that can be very efficient.