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

Seth Watts watts2 at illinois.edu
Wed Dec 16 08:11:25 EST 2020


Hi Omid -

I often use Ipopt to solve problems at the same order of your large
problem, although in my case the physics is solid mechanics solved with
FEA. Even for linear physics, the runtime is dominated by the physics
rather than the Ipopt functions. I haven’t checked lately, but my
recollection is that 95+% of the runtime is spent evaluating f, g, df, and
dg, rather than solving for an update (for which I use the HSL solvers).

I would therefore start by trying to accelerate your response function
evaluations. How do you evaluate their derivatives? An adjoint sensitivity
analysis is almost certainly the best choice. Can you reduce the number of
times you need to solve your physics by saving the solution fields for each
update (rather than the naive approach of solving them each time you need
to evaluate a response function)? Can you parallelize your physics to
reduce walltime? How many constraint functions do you have? It might be
possible to reformulate them to reduce the number, which would reduce time
spent solving for an update as well as time spent evaluating constraint
derivatives.

- Seth

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/2f3f88a1/attachment.html>


More information about the Ipopt mailing list