x/(1+x)
x>0
x*inv_pos(x+1)>=lo;
Disciplined convex programming error:
Cannot perform the operation: {real
affine} .* {convex}
x/(1+x)
x>0
x*inv_pos(x+1)>=lo;
Disciplined convex programming error:
Cannot perform the operation: {real
affine} .* {convex}
Given that x >= 0, and therefore, x+1 >= 0, how about multiplying both sides by (x+1) to produce
x >= lo*(x+1)
which simplifies to
x >= lo/(1-lo)
@jackfsuia 's formulation is a nice technique, which is useful for many problems, including when it appears inside log. But in this specific case, mine produces a simpler constraint for the optimizer to handle (bound constraint vs. SOCP constraint to implement inv_pos ).