I don't understand at all the reason for having either of these options as arguments to the constructor. Aren't these things (num_nin/neq, or the idx) properties that should be determined automatically by the NLP as constraints are added?