There are very few MINLP solvers, and Juniper happens to be very good. You’ve just picked a very hard problem.
I suggest you step back and reconsider the formulation.
For example, if x has bounds l and u, such that l <= x <= u, then you can replace x * y with a new variable z and constraints l * y <= z and z <= u * y.
You should also declare nr as
@variable(model, 1 <= nr[1:n, 1:n] <= n)
instead of adding the linear constraints.
If you do all of that, it should be representable as a mixed-integer linear program, which is “easy” to solve.