[Ipopt] Some suggestions to speed up code sought

jmogali at andrew.cmu.edu jmogali at andrew.cmu.edu
Sun Nov 8 21:35:58 EST 2015

     I would like to have some suggestions to speed up my code. I run my
code in a loop where at each iteration I call the function
OptimizeTNLP(); however I create a single TNLP object that calls
OptimizeTNLP at each iteration. After every iteration, I change the
objective function I am optimizing by a little.

1. The structure of the hessian is constant across iterations, is there a
way to make IPOPT avoid calling eval_h with values=null be passed to my
program at every iteration ? On a similar note, my Jacobian is a constant
for all iterations, is there a way to make IPOPT avoid calling eval_jac_g
, get_bounds_info for every iteration ?

Please note that in the above question, by iterations I am NOT referring
to those when IPOPT executes OptimizeTNLP().

2. Is it safe to reuse the TNLP object between iterations?

3. I sometimes get the message "Error return from ma97_factor. Error flag
=  -7" , does this mean the KKT matrix is singular ?


More information about the Ipopt mailing list