[Ipopt] Hessian Approximation Max History 0

Dominik Skanda dominik.skanda at web.de
Thu Nov 13 12:00:53 EST 2008


Hi all,
I'm using IpOPT together with CVodes in context of optimal control.
I have encountered converging difficulties with my current problem and started to tune the parameters of IpOPT.
When I change the max_history parameter of the hessian approximation to 0 the program ends up with a seg. fault after a restoration phase. I have checked my functions (eval_f, eval_g, ....)
with a debugger and by making cout  commands  in my code to find the problem. Unfortunately I didn't find any error in my functions and the debugger gave me this information:

==32374== Invalid read of size 4
==32374==    at 0x4A5F08A: Ipopt::LimMemQuasiNewtonUpdater::UpdateHessian() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x49E1737: Ipopt::IpoptAlgorithm::UpdateHessian() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x49EB76F: Ipopt::IpoptAlgorithm::Optimize(bool) (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x4AACACE: Ipopt::MinC_1NrmRestorationPhase::PerformRestoration() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0
.0.0)
==32374==    by 0x49BB209: Ipopt::BacktrackingLineSearch::FindAcceptableTrialPoint() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.s
o.0.0.0)
==32374==    by 0x3E9AFDE6: ???
==32374==  Address 0x60 is not stack'd, malloc'd or (recently) free'd
==32374==
==32374== Process terminating with default action of signal 11 (SIGSEGV)
==32374==  Access not within mapped region at address 0x60
==32374==    at 0x4A5F08A: Ipopt::LimMemQuasiNewtonUpdater::UpdateHessian() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x49E1737: Ipopt::IpoptAlgorithm::UpdateHessian() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x49EB76F: Ipopt::IpoptAlgorithm::Optimize(bool) (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0.0.0)
==32374==    by 0x4AACACE: Ipopt::MinC_1NrmRestorationPhase::PerformRestoration() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.so.0
.0.0)
==32374==    by 0x49BB209: Ipopt::BacktrackingLineSearch::FindAcceptableTrialPoint() (in /home/dskanda/CFitting/Ipopt-3.5.4/lib/libipopt.s
o.0.0.0)
==32374==    by 0x3E9AFDE6: ???


Has anyone encountered similar problems or has anyone a hint where I can search for the error?

I have a second question concerning the max_history parameter. So if I choose a small integer value for this parameter gets the Hessian approximation worse or better ?

Many thanks in advance

Dominik

_________________________________________________________________________
Sensationsangebot nur bis 30.11: WEB.DE FreeDSL - Telefonanschluss + DSL 
für nur 16,37 Euro/mtl.!* http://dsl.web.de/?ac=OM.AD.AD008K13805B7069a




More information about the Ipopt mailing list