# convex atomic function reformulation to meet concave dcp rule requirements

I have an atomic constraint of the form

abs(w - w_prev) >= some_threshold


It is supposed to get every value equal to or above my threshold.

I am working on a minimization problem in CVXPY where w is my solver variable.

I tried reformulating my constraint into a positive and a negative part

cvx.pos(w-w_prev.as_matrix())[w_prev.as_matrix() >= 0.0] >= 0.001


and

cvx.neg(w-w_prev.as_matrix())[w_prev.as_matrix() > 0.0]  >= -0.001


If I would wrap it into a norm() it would work for a scalar function, but I can't get my head around how(if) this can be turned into a concave constraint so I can use it in my context.

• Your constraint is fundamentally non-convex and thus can't be expressed in DCP. For example, take $| w-1 | \geq 2$ For this constraint, $w=-1$ and $w=3$ are feasible, but $w=(-1+3)/2=1$ is not feasible. – Brian Borchers Mar 27 '19 at 18:53