Experience using Ipopt for large linear problems

1,989 views
Skip to first unread message

Tom Brown

unread,
Apr 19, 2018, 7:13:52 AM4/19/18
to openmod list
Dear all,

Short version: does anyone have any experience with the performance of
Ipopt for large linear problems compared to commercial solvers?

Long version:

Many of our models are built as large linear programming problems. These
are often best solved with commercial solvers like Cplex, Gurobi, Mosek,
Xpress etc.

Often the fastest algorithms for approximate solutions use interior
point / barrier methods. There is a free software interior point solver,
also suitable for non-linear problems, called Ipopt:

https://projects.coin-or.org/Ipopt

In benchmarks, cf. page 14 of
http://plato.asu.edu/talks/mittelmann_bench.pdf, it only performs 2-3
times worse than Cplex/Gurobi and sometimes better.


Does anyone have any experience using Ipopt for energy system models /
comments to add? Benchmarks on memory usage?

It would be a big jump forward to have decent free software solvers...

Best,

Tom


PS This is the same Tom Brown as br...@fias.uni-frankfurt.de, I've just
changed institution.



--
Karlsruhe Institute of Technology (KIT)
Institute for Automation and Applied Informatics (IAI)

Dr. Tom Brown
Energy System Modelling

Phone: +49 721 608 25737
Fax: +49 721 608 22602
Website: https://www.iai.kit.edu/
Personal website: https://nworbmot.org/

Visitor Address:
Office 309
Campus North Building 445
Hermann-von-Helmholtz-Platz 1
76344 Eggenstein-Leopoldshafen

Oleg Lugovoy

unread,
Apr 20, 2018, 7:06:36 AM4/20/18
to openmod initiative
Hi Tom,

Ipopt is a Non-Linear-Programming (NLP) solver. From my experience, it is not so fast vs., for example CONOPT, and fails more often to converge, depends more heavily on starting points. As stated on coin-or website, Ipopt relies on a sparse matrix linear solver, free MUMPS - a very basic one is shipped with IPOPT. But it can be compiled with others, more powerful solvers, which are mostly commercial. Search the coin-or website.
In short, when I was looking for an open-source or free NLP solver, IPOPT was the best option so far, it can handle large scale models, but less powerful then commercial alternative. All depends on your problem though. 
Another option for NLP solvers is a NLopt set (https://nlopt.readthedocs.io/en/latest/), but they all are quite old and only few from them allow constrained optimization.

If you are looking for LP solver, from our experience, Cbc (Clp) - linear solvers (https://projects.coin-or.org/Cbc) are very competitive, we use them instead of CPLEX to solve TIMES and other large scale LP models (energyRt). They have Python interface (check https://github.com/coin-or/CyLP), Julia (check JuMP), CMPL (http://www.coliop.org/index.html), and more. Another option is GLPK. The solver is okay in performance, but has slow interpreter if you write really large-scale problem in the build-in MathProg language (alike AMPL), MPS format should be okay, though I haven't tried it.

Hope this helps. I'm eager to learn about other free LP/NLP options, if they exist.

Best,
Oleg

Lion Hirth

unread,
Apr 20, 2018, 7:54:17 AM4/20/18
to openmod initiative

Hi Tom, Oleg, others,

 

my (limited) experiments with EMMA point in a similar direction. Of the LP OS solver shipped with GAMS, Cbc performs best with that model.

 

BR

Lion

--
You received this message because you are subscribed to the Google Groups "openmod initiative" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openmod-initiat...@googlegroups.com.
To post to this group, send email to openmod-i...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openmod-initiative/178ad7bd-bafc-4e7b-aa09-e2a2bc16cb8e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tom Brown

unread,
Apr 20, 2018, 9:32:28 AM4/20/18
to openmod-i...@googlegroups.com
Dear Oleg and Lion,

Many thanks for the tips and experiences!

Clp is great, and superior to GLPK, but still left in the dust by Gurobi
and CPLEX from my experience.

I had heard that the BEAM-ME project:

http://www.beam-me-projekt.de/beam-me/DE/Home/home_node.html

had had some success with an open or free-for-academia interior point
solver that was easily parallelisable, can anyone from that project
contribute something?

Otherwise I'll just try running some of our own models with Ipopt and
report back on progress.

Best,

Tom



On 20/04/18 13:54, Lion Hirth wrote:
> Hi Tom, Oleg, others,
>
>  
>
> my (limited) experiments with EMMA <https://neon-energie.de/en/emma/>
> point in a similar direction. Of the LP OS solver shipped with GAMS, Cbc
> performs best with that model.
>
>  
>
> BR
>
> Lion
>
>  
>
>  
>
>  
>
> *From:*openmod-i...@googlegroups.com
> [mailto:openmod-i...@googlegroups.com] *On Behalf Of *Oleg Lugovoy
> *Sent:* Freitag, 20. April 2018 13:07
> *To:* openmod initiative <openmod-i...@googlegroups.com>
> *Subject:* [openmod-initiative] Re: Experience using Ipopt for large
> <https://www.google.com/url?q=https%3A%2F%2Fprojects.coin-or.org%2FIpopt&sa=D&sntz=1&usg=AFQjCNHuhGA1KJTBTWbvqth_evVXpbPueQ>
>
>
> In benchmarks, cf. page 14 of
> http://plato.asu.edu/talks/mittelmann_bench.pdf
> <http://www.google.com/url?q=http%3A%2F%2Fplato.asu.edu%2Ftalks%2Fmittelmann_bench.pdf&sa=D&sntz=1&usg=AFQjCNGSmqLwPavkY7rFQ8LLm0OJnxg-BA>,
> it only performs 2-3
> times worse than Cplex/Gurobi and sometimes better.
>
>
> Does anyone have any experience using Ipopt for energy system models /
> comments to add? Benchmarks on memory usage?
>
> It would be a big jump forward to have decent free software solvers...
>
> Best,
>
> Tom
>
>
> PS This is the same Tom Brown as br...@fias.uni-frankfurt.de
> <javascript:>, I've just
> changed institution.
>
>
>
> --
> Karlsruhe Institute of Technology (KIT)
> Institute for Automation and Applied Informatics (IAI)
>
> Dr. Tom Brown
> Energy System Modelling
>
> Phone: +49 721 608 25737
> Fax: +49 721 608 22602
> Website: https://www.iai.kit.edu/
> Personal website: https://nworbmot.org/
>
> Visitor Address:
> Office 309
> Campus North Building 445
> Hermann-von-Helmholtz-Platz 1
> 76344 Eggenstein-Leopoldshafen
>
> --
> You received this message because you are subscribed to the Google
> Groups "openmod initiative" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openmod-initiat...@googlegroups.com
> <mailto:openmod-initiat...@googlegroups.com>.
> To post to this group, send email to openmod-i...@googlegroups.com
> <mailto:openmod-i...@googlegroups.com>.
> <https://groups.google.com/d/msgid/openmod-initiative/178ad7bd-bafc-4e7b-aa09-e2a2bc16cb8e%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google
> Groups "openmod initiative" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openmod-initiat...@googlegroups.com
> <mailto:openmod-initiat...@googlegroups.com>.
> To post to this group, send email to openmod-i...@googlegroups.com
> <mailto:openmod-i...@googlegroups.com>.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/openmod-initiative/048501d3d89e%244e4d0860%24eae71920%24%40neon-energie.de
> <https://groups.google.com/d/msgid/openmod-initiative/048501d3d89e%244e4d0860%24eae71920%24%40neon-energie.de?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Manuel...@dlr.de

unread,
Apr 24, 2018, 9:25:49 AM4/24/18
to openmod-i...@googlegroups.com
Hi Tom, others,

I'm working on the BEAM-ME project so I can provide some information on the solver - but be advised it will be more complicated than just replacing the solver name with your previous one.

The solver that we use in order to get ESMs to parallel high performance computers (especially with distributed architectures in mind) is called PIPS-IPM and was originally developed by Cosmin Petra and others at the Argonne National Laboratories. It is distributed as open source (https://github.com/Argonne-National-Laboratory/PIPS) and all modifications from the BEAM-ME project will be open source as well. The initial version the solver was able to address stochastic optimization problems, which have a clear underlying block structure based on the different second stage decisions which are done in the model (see https://ieeexplore.ieee.org/abstract/document/6114464/ for the case study). The problem arises when using the solver for a more general structure of linear optimization problems. While there are still block structures in ESMs, they are heavily linked to each other unlike stochastic optimization problems. So, the challenge for the energy system modelers is identifying different structures in the model which lead to a good performance gain.

Since PIPS-IPM needs to be compiled with several libraries and has a poorly documented interface for communicating the mathematical optimization problem it will take some time until it is effectively usable. Currently this is the task of our colleagues at the high performance computing centers and the mathematicians working on the solver development.


There was a performance test between several solvers for our energy system model REMix some years ago. I might be able to send some slides if I can get a hold of them - but it was clear that the commercial ones outperformed the others.

Best,
Manuel


-----Ursprüngliche Nachricht-----
Von: openmod-i...@googlegroups.com [mailto:openmod-i...@googlegroups.com] Im Auftrag von Tom Brown
Gesendet: Freitag, 20. April 2018 15:32
An: openmod-i...@googlegroups.com
Betreff: Re: [openmod-initiative] Re: Experience using Ipopt for large linear problems
To unsubscribe from this group and stop receiving emails from it, send an email to openmod-initiat...@googlegroups.com.
To post to this group, send an email to openmod-i...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/openmod-initiative/483ffc44-a6e8-44f1-bbc5-7ba6ace4b018%40kit.edu.

Oleg Lugovoy

unread,
Apr 25, 2018, 9:05:06 AM4/25/18
to openmod initiative
Thanks Manuel for the info, pls share more details if you have.

Tom, since you tried CBC, i'm not sure if IPOPT will bring any values for your large-LP problem. Please share your experience if you go this way. 
But also some thoughts and caveats: 
CBC/CLP developed by IBM (like CPLEX), and GAMS contributed to IPOPT. I would not expect that they are going to kill their own businesses with equal open-source alternatives. So I would try to look for other options - like Manuel says. Or sometimes ad-hoc solutions are even better than universal solvers (actually even high-performance solvers have their own limits - just matter of a model dimension).

best,

--oleg

On Thursday, April 19, 2018 at 7:13:52 AM UTC-4, Tom Brown wrote:

Tom Brown

unread,
Oct 24, 2018, 7:56:23 AM10/24/18
to openmod-i...@googlegroups.com
Hi all,

Back in April Manuel Wetzel of DLR Stuttgart reported about some of the
results of the BEAM-ME project regarding the distributed solving of
large energy system models (ESM) using PIPS:

https://github.com/Argonne-National-Laboratory/PIPS

There is now a publication available on this from the BEAM-ME project
(in various similar versions):

https://www.researchgate.net/publication/327530846_Optimizing_Large-Scale_Linear_Energy_System_Problems_with_Block_Diagonal_Structure_by_Using_Parallel_Interior-Point_Methods

https://link.springer.com/chapter/10.1007/978-3-319-89920-6_85

https://opus4.kobv.de/opus4-zib/files/6618/zibreport_IPMforESM.pdf


which describes more details of the application of PIPS-IPM.

I'd be curious if this has been tested now on bigger ESM problems.
Although they warn that without parallelisation PIP-IPM will be slower
than commercial solvers here:

https://github.com/Argonne-National-Laboratory/PIPS/blob/master/FAQ.md

I wonder just how bad it is compare to e.g. Gurobi/CPLEX with no
decomposition of the problem into blocks for parallelisation.

The reason I care is that the lack of availability of fast open source
solvers for very large problems is a hindrance for some people who want
to run the models (but who have access to cheap computing power via the
cloud). The old openmod manifesto diagram implies also that the solver
should be open, after all:

https://www.openmod-initiative.org/manifesto.html

Best wishes,

Tom
Reply all
Reply to author
Forward
0 new messages