Try: GitHub - lanl-ansi/Juniper.jl: A JuMP-based Nonlinear Integer Program Solver
A better question to ask is why you require rational variables. Mixed-integer nonlinear programs are notoriously difficult to solve.
If you can use a common demoninator (e.g., 1000
), then the problem is easy. Having an arbitrary denominator is going to be very difficult.