The problem is basically overflow due to
pow_pos(l_u,3) being too large. The problem in reality is feasible, but the double precision solvers get overwhelmed by
pow_pos(l_u,3) of such a large number, and “incorrectly” conclude the problem is infeasible. I am not sure which transformations are being applied by CVX vs. inside the solver, so I am not attributing any blame.
Even without the 1e-18, the difficulty is
pow_pos(l_u,3). The minimum value for that is
pow_pos(1e6,3), which is 1e18. If the lower bound on
l_u were 1e2 (or maybe 1e3 depending on the solver), rather than 1e6, the problem would be marginally solvable,.
So as @Erling says, you will need to rescale the variable(s) in your problem. Presumably, you have in mind a more complicated problem, because the optimal solution of this problem will always be on the lower bound . Note that your constraint
l_u >= 0; is superfluous due to the constraint
l_u >= 1e6; Also, given that
l_u is a scalar variable, the
sum(sum( in the objective function is superfluous.