I wish to know which (free) MINLP solver can I use to solve large scale (~1000 variables and ~1000 non-linear constraints) optimization problems? I would prefer a solver that specializes at solving very hard problems (even if it takes more time).

I looked at some of the COIN-OR tools (Couenne, Bonmin, SHOT) etc. but I am confused as to which one should I attempt to integrate with my code?

I would strongly prefer a C++ API so that I can call the solver from my program.

Characteristics of my Optimization problem: Due to a large number of non-linear active constraints, the feasible search space is quite small and a randomly generated design is almost never feasible (proportion of feasible search space to infeasible is infinitsmally small). I will have a feasible (but non-optimal) start point and am able to find a continuous optimum.