[Ipopt] Strategies for solving a large scale optimisation problem?

Don Boyd donboyd5 at gmail.com
Wed Dec 16 07:41:38 EST 2020


Hi Omid,

I have used IPOPT with problems with as many as 35 million variables and
200k constraints, although it has been 2 or 3 years. The objective function
is convex, I have analytic first and second derivatives of the objective
function, constraints are linear, the problem is highly sparse and I use
the sparse matrix structure. I have used the HSL linear solvers for this.
In particular, I needed the HSL solver MA77 for this, which solves out of
memory. MA77 writes temporary files as it works, and I found that if for
any reason it bombs it may not clean up those temporary files and that it
is important to manually delete any temporary files still remaining or the
next run will bomb, too. I was calling IPOPT from R using the package
ipoptr (I do not recommend this on Windows as it is very hard to install).
I was  using a Windows machine with 8-core AMD FX 8350 chip and 32 gb of
RAM. The problem solved in about 1-2 hours as I recall. I tried many
different solvers - probably 6-10 - for problems of this type, and found
that IPOPT was the best solver by far for this problem.

I hope this helps.

Don


On Wed, Dec 16, 2020 at 5:43 AM Omid Bidar <obidar1 at sheffield.ac.uk> wrote:

> Dear all,
>
> I'm a new user of IPOPT, trying to solve an optimisation problem in a CFD
> context. The number of design variables in the problem is the same as the
> number of mesh cells, which are at least 10k but could be up to 500k for
> the problems we are working on. So the problem at hand is very nonlinear
> and highly dimensional.
>
> A colleague has run the optimisation for a toy problem we're working on
> using SNOPT successfully, but it requires a user license. We're looking
> into using IPOPT as a free alternative. We've managed to use IPOPT with a
> small number of design variables with MUMPS as the linear solver, but the
> same setup for large design variables currently takes too long to compute
> (we've had to terminate the computation after running it overnight to solve
> the problem).
>
> Having looked on the internet I know that people have implemented IPOPT
> for very large problems, but I haven't managed to really find any good
> resource on how to go about setting up the problem. Can someone please
> advise?
>
> For brevity's sake I've not included a lot of details about the problem
> but can share more details should this be required.
>
> Cheers,
> Omid
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> https://list.coin-or.org/mailman/listinfo/ipopt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20201216/f8047d13/attachment.html>


More information about the Ipopt mailing list