[Ipopt-tickets] [Ipopt] #12: Segmentation Fault (Quasi Newton option)

Ipopt coin-trac at coin-or.org
Tue Jun 6 15:41:22 EDT 2006


#12: Segmentation Fault (Quasi Newton option)
------------------------------+---------------------------------------------
Reporter:  soniasinghal       |       Owner:  ipopt-team
    Type:  defect             |      Status:  new       
Priority:  normal             |   Component:  Ipopt     
 Version:  3.0 - C++ Version  |    Severity:  normal    
Keywords:  3.1.0              |  
------------------------------+---------------------------------------------
 Hi,

 I am working with the 3.1.0 version of IPOpt and am using the Quasi Newton
 option to approximate the Hessian.
 After several (100) iterations IPOpt gives a segmentation fault.
 There are two types of Assertion errors I get when I have compiled the
 code with the debug version of ipopt.

 1)

 iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
 alpha_pr  ls
  760r 6.3707062e+02 2.50e+00 3.18e+02   0.1 8.43e+01    -  1.52e-02 3.92e-
 02f  1
  761r 6.3542319e+02 2.59e+00 3.10e+02   0.1 1.35e+02    -  1.36e-01 1.88e-
 02f  1
  762r 6.3575117e+02 2.44e+00 3.61e+02   0.1 1.28e+01    -  2.01e-01 5.12e-
 01h  1
  763r 6.3822831e+02 1.94e+00 1.38e+02   0.1 1.61e+01    -  4.38e-01 2.34e-
 01h  2
  764r 6.2755086e+02 1.19e+00 6.45e+01   0.1 4.56e+00    -  8.27e-01
 1.00e+00h  1
  765r 6.7802613e+02 5.52e+00 8.55e+01   0.9 5.65e+01    -  1.68e-01 2.26e-
 01f  1
  766r 6.5383208e+02 8.80e+00 3.92e+01   0.3 1.51e+01    -  3.45e-01 6.98e-
 01h  1
  767r 6.5022832e+02 2.78e+00 2.79e+02  -0.4 1.14e+01    -  1.81e-01 7.58e-
 01f  1
  768r 7.0266365e+02 7.46e+00 1.50e+02  -0.4 3.08e+01    -  3.31e-01 4.24e-
 01h  1
  769r 7.1465687e+02 7.29e+00 1.04e+02  -0.4 7.33e+01    -  9.30e-03 7.23e-
 02f  1
 iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
 alpha_pr  ls
  770r 7.1452051e+02 7.24e+00 2.54e+02  -0.4 2.91e+01    -  4.12e-03 7.37e-
 03h  1
  771r 7.1449079e+02 7.24e+00 1.25e+02  -0.4 5.91e+01    -  5.10e-04 1.80e-
 04h  2
  772r 7.1449660e+02 7.23e+00 1.13e+02  -0.4 1.37e+01    -  5.19e-04 1.55e-
 03h  8
  773r 7.1449034e+02 7.22e+00 8.24e+01  -0.4 3.25e+01    -  1.70e-01 1.11e-
 04h 13
  774r 7.1449235e+02 7.22e+00 1.12e+02  -0.4 3.30e+01    -  2.15e-03 1.88e-
 05h 14
  775r 7.1704941e+02 6.83e+00 1.07e+02  -0.4 2.71e+01    -  4.66e-02 4.66e-
 02s 22
  776r 7.1476071e+02 6.20e+00 1.01e+02  -0.4 3.56e+01    -  5.66e-02 5.66e-
 02s  0
  777r 6.8774644e+02 5.06e+00 4.41e+01  -0.4 1.89e+01    -  5.63e-01 5.63e-
 01s  0
 nlpSolution: IpAugRestoSystemSolver.cpp:172: virtual
 Ipopt::ESymSolverStatus Ipopt::AugRestoSystemSolver::Solve(const
 Ipopt::SymMatrix*, double, const Ipopt::Vector*, double, const
 Ipopt::Vector*, double, const Ipopt::Matrix*, const Ipopt::Vector*,
 double, const Ipopt::Matrix*, const Ipopt::Vector*, double, const
 Ipopt::Vector&, const Ipopt::Vector&, const Ipopt::Vector&, const
 Ipopt::Vector&, Ipopt::Vector&, Ipopt::Vector&, Ipopt::Vector&,
 Ipopt::Vector&, bool, int): Assertion `LR_W' failed.
 Aborted

 2)
 iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
 alpha_pr  ls
   60r 3.1054134e+03 2.00e+01 2.17e+02   1.3 1.68e+02    -  3.63e-01 3.24e-
 01f  1
   61r 3.1422667e+03 1.74e+01 2.26e+02   1.4 1.07e+02    -  7.07e-01 2.25e-
 01f  1
   62r 3.1142223e+03 1.01e+01 4.25e+02   0.4 5.75e+01    -  1.55e-01 4.28e-
 01f  1
   63r 3.1090240e+03 1.00e+01 1.10e+03  -2.0 1.14e+03    -  2.72e-03 8.34e-
 03f  1
   64r 3.1016225e+03 8.78e+00 5.46e+03   0.6 1.30e+02    -  1.01e-02 7.94e-
 02h  1
   65r 3.0959050e+03 8.59e+00 5.42e+03   1.9 3.38e+02    -  1.00e-01 1.76e-
 02f  1
   66r 3.1204020e+03 8.33e+00 5.32e+03   2.0 5.28e+02    -  2.17e-01 4.73e-
 02f  1
   67r 3.2950261e+03 1.64e+01 5.14e+03   1.5 7.22e+01    -  4.69e-02 5.12e-
 01f  1
   68r 3.4441593e+03 1.25e+01 2.93e+03   2.2 8.51e+01    -  1.00e+00 2.79e-
 01f  1
   69r 3.4239669e+03 1.26e+01 2.21e+03   2.0 5.84e+01    -  6.37e-02 2.30e-
 01f  3
 iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du
 alpha_pr  ls
   70r 3.4049832e+03 8.41e+00 1.10e+03   1.3 3.21e+01    -  1.46e-01 6.70e-
 01h  1
   71r 3.4041910e+03 7.88e+00 1.12e+03   0.6 4.73e+02    -  2.00e-01 8.07e-
 03f  1
   72r 3.4238310e+03 1.14e+01 6.36e+02   0.6 4.97e+01    -  3.11e-01 4.12e-
 01f  1
   73r 3.4214252e+03 1.08e+01 6.02e+02   0.6 2.98e+02    -  1.16e-02 4.46e-
 02f  1
   74r 3.4158718e+03 9.72e+00 1.09e+03   0.6 6.84e+01    -  1.80e-02 1.15e-
 01f  1
   75r 3.3762965e+03 8.12e+00 9.93e+02   0.6 7.37e+02    -  2.64e-01 1.54e-
 01h  1
   76r 3.5351425e+03 2.77e+01 1.15e+03   1.8 2.16e+02    -  8.30e-01 3.67e-
 01f  1
   77r 3.2221562e+03 2.56e+01 9.05e+02   1.6 4.15e+02    -  1.88e-02 1.77e-
 01h  1
   78r 3.2084301e+03 3.62e+00 6.50e+02   0.9 3.70e+01    -  8.87e-02 9.25e-
 01f  1
   79r 3.2145163e+03 3.16e+00 4.29e+02  -2.0 1.80e+01    -  2.31e-01 2.44e-
 01f  1
 nlpSolution: IpLimMemQuasiNewtonUpdater.cpp:382: virtual void
 Ipopt::LimMemQuasiNewtonUpdater::UpdateHessian(): Assertion `sTy_new > 0.'
 failed.
 Aborted

 The tar file contains 4 directories - adic, boost, designs, code. I havnt
 included the ipopt code as the file was getting too big. Install
 ipopt-3.1.0 at the same directory level ( adic, code, etc. ). To build the
 code, go into the "code" directory and do "make". "nlpSolution" executable
 would get generated.

 To reproduce error #1 inside the code directory itself type :
 ./nlpSolution ../designs/fract.txt
 For error #2 execute the following command :
 ./nlpSolution ../designs/primary1.txt

 I am working on Suse Linux 9.0 with gcc 3.3.1

 Thanks,
 ~ Sonia

-- 
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/12>
Ipopt <http://www.coin-or.org>
Ipopt Tickets


More information about the Ipopt-tickets mailing list