-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, (in)equality constraints require some manual labor and are relatively error-prone. This is from the documentation:
parind[:y3y7] # 29
parind[:y8y4] # 30
# θ[29] + θ[30] - 1 = 0.0
function eq_constraint(θ, gradient)
if length(gradient) > 0
gradient .= 0.0
gradient[29] = 1.0
gradient[30] = 1.0
end
return θ[29] + θ[30] - 1
end
parind[:λ₂] # 3
parind[:λ₃] # 4
# θ[3] - θ[4] - 0.1 ≤ 0
function ineq_constraint(θ, gradient)
if length(gradient) > 0
gradient .= 0.0
gradient[3] = 1.0
gradient[4] = -1.0
end
θ[3] - θ[4] - 0.1
end
Wouldn't it be possible to wrap up and hide this in Stenographs, such that we can just write:
λ₂< λ₃
and, internally this is mapped to such an inequality constraint which is added to the model?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request