Make nlp.py not depend on IpoptSolver