Hi. I wanted to know if it is possible to place a Huber loss in the objective of a quadratic problem in JuMP 0.18.
The Huber function can be defined as follows:
huber(a,delta)= abs(a) <= delta ? 1/2*a^2 : delta*(abs(a)-1/2*delta)
For the absolute value, I can always use the trick of adding a slack variable z = abs(a) and use that:
@variable(m, z)
@constraint(m, z>=a)
@constraint(m, z<=-a)
But I don’t know how to solve the piecewise part. I get the following error:
MethodError: no method matching isless(::Float64, ::JuMP.Variable)
Is there a way to code this, or not currently supported? Thank you.