12

Are you aware of a fast solver (open source or commercial) for convex NLPs that is faster than IPOPT? I'm interested in problems in the 50K+ variable range, both dense and sparse. Ideally, it would be a solver dedicated to solving convex NLPs.

Nikos Kazazakis
  • 12,121
  • 17
  • 59

2 Answers2

13

Are you formulating your model with nonlinear expressions that just happen to be convex?

Or can you provide conic normal forms, maybe using a modeling tool based on displicined convex programming? In that case, some solvers might be able to exploit that! Disciplined geometric programming is another way to teach solvers how to exploit convexity in nonlinear situations.

MOSEK is a commercial solver in that field.

SCS, ECOS and COSMO are some open-source packages.

UPDATE: Added a reference to DCP.

Richard
  • 543
  • 2
  • 13
Robert Schwarz
  • 2,316
  • 8
  • 21
  • I am generating functions designed to be convex automatically. The functional form can be anything (i.e., general non-linear). – Nikos Kazazakis Oct 03 '19 at 16:39
  • 3
    Mosek can only used if the problem can be stated on conic form. – ErlingMOSEK Oct 04 '19 at 10:02
  • 1
    For now, it is believed that all convex programs can be reformulated as conic ones (which is why Mosek got rid of general convex solver in 9.0). Couldn't you generate conic formulations in your case? Maybe using DCP? – dourouc05 Oct 04 '19 at 14:14
  • 1
    dourouc05 wrote "For now, it is believed that all convex programs can be reformulated as conic ones" Who believes this? There have now been quite a few convex optimization problems which no one at Mosek knows how to formulate in a way Mosek can accept. See http://ask.cvxr.com/search?q=erling%27s%20challenge for some of them. People have accepted @ErlingMOSEK 's challenge https://twitter.com/J_P_Vielma/status/1014513695605608448 and produced such examples. – Mark L. Stone Jan 25 '23 at 16:02
10

You may want to try out the NLP solver Knitro, which, despite being commercial, is faster than Ipopt: http://plato.asu.edu/ftp/ampl-nlp.html

fpacaud
  • 1,501
  • 6
  • 7