[Ipopt] Ipopt halts on log(0.38)

Stefan Vigerske stefan at math.hu-berlin.de
Fri Aug 18 05:50:53 EDT 2017


Hi,

I cannot reproduce the error itself, but if I run the Ipopt binary from 
http://ampl.com/dl/open/ipopt/ipopt-linux64.zip on your .nl file, I get 
this from valgrind:

...
Number of nonzeros in equality constraint Jacobian...:       37
Number of nonzeros in inequality constraint Jacobian.:        0
Number of nonzeros in Lagrangian Hessian.............:       35

==11553== Conditional jump or move depends on uninitialised value(s)
==11553==    at 0x772569: f_OP_log
==11553==    by 0x770D3D: f_OPMULT
==11553==    by 0x770D2D: f_OPMULT
==11553==    by 0x77CD7C: conpval_ASL
==11553==    by 0x77D34D: jacpval_ASL
==11553==    by 0x747D97: Ipopt::AmplTNLP::eval_jac_g(int, double 
const*, bool, int, int, int*, int*, double*)
==11553==    by 0x474747: Ipopt::TNLPAdapter::internal_eval_jac_g(bool)
==11553==    by 0x476372: Ipopt::TNLPAdapter::Eval_jac_c(Ipopt::Vector 
const&, Ipopt::Matrix&)
==11553==    by 0x4C5CA1: 
Ipopt::GradientScaling::DetermineScalingParametersImpl(Ipopt::SmartPtr<Ipopt::VectorSpace 
const>, Ipopt::SmartPtr<Ipopt::VectorSpace const>, 
Ipopt::SmartPtr<Ipopt::VectorSpace const>, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>, 
Ipopt::SmartPtr<Ipopt::SymMatrixSpace const>, Ipopt::Matrix const&, 
Ipopt::Vector const&, Ipopt::Matrix const&, Ipopt::Vector const&, 
double&, Ipopt::SmartPtr<Ipopt::Vector>&, 
Ipopt::SmartPtr<Ipopt::Vector>&, Ipopt::SmartPtr<Ipopt::Vector>&)
==11553==    by 0x517943: 
Ipopt::StandardScalingBase::DetermineScaling(Ipopt::SmartPtr<Ipopt::VectorSpace 
const>, Ipopt::SmartPtr<Ipopt::VectorSpace const>, 
Ipopt::SmartPtr<Ipopt::VectorSpace const>, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>, 
Ipopt::SmartPtr<Ipopt::SymMatrixSpace const>, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&, 
Ipopt::SmartPtr<Ipopt::MatrixSpace const>&, 
Ipopt::SmartPtr<Ipopt::SymMatrixSpace const>&, Ipopt::Matrix const&, 
Ipopt::Vector const&, Ipopt::Matrix const&, Ipopt::Vector const&)
==11553==    by 0x5281D9: 
Ipopt::OrigIpoptNLP::InitializeStructures(Ipopt::SmartPtr<Ipopt::Vector>&, 
bool, Ipopt::SmartPtr<Ipopt::Vector>&, bool, 
Ipopt::SmartPtr<Ipopt::Vector>&, bool, Ipopt::SmartPtr<Ipopt::Vector>&, 
bool, Ipopt::SmartPtr<Ipopt::Vector>&, bool, 
Ipopt::SmartPtr<Ipopt::Vector>&, Ipopt::SmartPtr<Ipopt::Vector>&)
==11553==    by 0x4F71AC: 
Ipopt::IpoptData::InitializeDataStructures(Ipopt::IpoptNLP&, bool, bool, 
bool, bool, bool)
==11553==  Uninitialised value was created by a stack allocation
==11553==    at 0x772530: f_OP_log
==11553==


This should have nothing to do with using ma27 or mumps. Maybe the Ipopt 
binary on the AMPL webpage uses a buggy AMPL interface library (ASL)? 
The Ipopt version they provide is 3.12.4, which is 2 years old.

Stefan


On 08/10/2017 05:04 PM, Giacomo Nannicini wrote:
> Hi all,
> I am experiencing a strange behavior of Ipopt.
> I have a model that contains logarithms of nonnegative numbers.
> Everything runs fine on my machine, where I compiled from source and
> use ma27 as linear solver.
> However on a different machine I use the Ipopt binaries downloaded
> from the AMPL website, that use mumps. On this machine, running the
> model gives an error:
> 
> Error evaluating constraint 1: can't evaluate log(0.388348).
> 
> To get this message I have to run with halt_on_ampl_error yes,
> otherwise Ipopt simply exists with Invalid number in NLP function or
> derivative detected.
> I am not even sure this is an error of Ipopt or ASL, but it's hard for
> me to figure out where the error is coming from.
> 
> Attached is a small and compressed .nl file that exhibits this behavior.
> 
> Any ideas? I can't see why log(0.38) would be a complicating
> expression, what am I missing?
> 
> Thanks
> 
> Giacomo
> 
> 
> 
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_ipopt&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=BRcuJnQr5NAzU29t80hk2rsLc4vrlRySBDabuq0O1ZI&m=nGfRWJP56XZ1hxfEDKNDr28CqTB5yFbkzbcWMm3pjSI&s=6yWqyLAdnuUit3ZzNkpYmL1jhOi2BmIuXADhLvBbHpM&e=
> 


-- 
http://www.gams.com/~stefan


More information about the Ipopt mailing list