[Ipopt] what should i do when Ipopt says:Insufficient_Memory

Andreas Waechter andreasw at watson.ibm.com
Mon Nov 30 13:17:53 EST 2009


Hi LiuQuanchang,

Your numbers of variables and constraints are not really large (unless 
your constraint Jacobian or Lagrangian Hessian are dense?).

The most amount of memory taken by Ipopt is in the linear solver.  The 
details depend on which particular linear solver you choose.  Some of them 
(like ma27 or also mumps) might run into a situation larger in the 
optimization where the pivoting is such that a lot of fill-in in the 
(sparse) factors is created.  These solvers then request more memory from 
Ipopt, and Ipopt will reallocate more and call the solvers again.  Here, 
it might happen that Ipopt is trying to allocate too much.  It might then 
help if you play with the options

# ma27_liw_init_factor:
# ma27_la_init_factor:
# ma27_meminc_factor:

or

# mumps_mem_percent:

Or you can try to use a different linear solver, such as Pardiso.

Regards,

Andreas


On Mon, 23 Nov 2009, lqc234 wrote:

> Hi,ervyone!
    The Ipopt returns "Insufficient_Memory" in my applicaiton.Perhaps my 
application has too many variables(3763) and too many constraints(3758), 
so there are too many elements in the Jacobian and Hessian matrix.What 
should i do under this situation? Is there some parameters in Ipopt which 
I can configured for this situation? I have searched the Ipopt 
doucumentation and unfortunately i haven't found.

    Thanking you in advance!


             LiuQuanchang



More information about the Ipopt mailing list