Second-order cone optimization