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.
2 Answers
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.
-
$\begingroup$ I am generating functions designed to be convex automatically. The functional form can be anything (i.e., general non-linear). $\endgroup$ Oct 3, 2019 at 16:39
-
3$\begingroup$ Mosek can only used if the problem can be stated on conic form. $\endgroup$ Oct 4, 2019 at 10:02
-
1$\begingroup$ 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? $\endgroup$ Oct 4, 2019 at 14:14
-
1$\begingroup$ 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 ask.cvxr.com/search?q=erling%27s%20challenge for some of them. People have accepted @ErlingMOSEK 's challenge twitter.com/J_P_Vielma/status/1014513695605608448 and produced such examples. $\endgroup$ Jan 25 at 16:02
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
-
7