Hi @joaomcostab, welcome to the forum!
Last year we rewrote JuMP’s nonlinear interface, precisely to support structures like this.
See:
To update, change
register(model, :gauss_cheby_integral_f, 4, gauss_cheby_integral_f, autodiff=true)
to
@operator(model, op_gauss_cheby_integral_f, 4, gauss_cheby_integral_f)
Use op_gauss_cheby_integral_f
instead of gauss_cheby_integral_f
in the constraint macros, and change @NLconstraint
to @constraint
.
If you get stuck, post a reproducible example that we can copy and paste, and we can help fix any issues.