[Ipopt-tickets] [Ipopt] #250: MATLAB crashes when IPOPT converges to machine precision
Ipopt
coin-trac at coin-or.org
Sat Apr 30 07:23:49 EDT 2016
#250: MATLAB crashes when IPOPT converges to machine precision
-------------------------------+------------------------
Reporter: drosos.kourounis | Owner: ipopt-team
Type: defect | Status: closed
Priority: normal | Component: Ipopt
Version: 3.11 | Severity: major
Resolution: wontfix | Keywords:
-------------------------------+------------------------
Changes (by stefan):
* status: new => closed
* resolution: => wontfix
Old description:
> Dear all,
>
> I observed, that MATLAB crashes when IPOPT converges very close or even
> beyond the machine precision. I tried that both with the mex binaries
> provided at the site version 3.11.8 and the mex files compiled manually
> following the instructions for version 3.11.9. Both Matlab R2012b and
> R2014a were tested. It seems that it is independent of any compilation
> details and appears only when some of the several tolerances (it is not
> clear which one) converges to or below machine precision. Below
> I am running the examplelasso.m, where the tolerance was set to 1e-17
> to force the reproduction of the bug. At iteration 14 MATLAB crashes so
> we do not see the iteration 15. The same thing happens for several
> different examples when the tolerance is set close to machine epsilon.
>
> This is Ipopt version 3.11.9, running with linear solver ma57.
>
> Number of nonzeros in equality constraint Jacobian...: 0
> Number of nonzeros in inequality constraint Jacobian.: 32
> Number of nonzeros in Lagrangian Hessian.............: 36
>
> Total number of variables............................: 16
> variables with only lower bounds: 0
> variables with lower and upper bounds: 0
> variables with only upper bounds: 0
> Total number of equality constraints.................: 0
> Total number of inequality constraints...............: 16
> inequality constraints with only lower bounds: 16
> inequality constraints with lower and upper bounds: 0
> inequality constraints with only upper bounds: 0
>
> iter objective inf_pr inf_du lg(mu) |d| lg(rg) alpha_du
> alpha_pr ls
> 0 2.0362309e+03 0.00e+00 3.39e+01 0.0 0.00e+00 - 0.00e+00
> 0.00e+00 0
> 1 1.2058144e+03 0.00e+00 2.54e+01 -6.0 3.86e+00 - 2.12e-01 2
> .56e-01f 1
> 2 7.1857478e+01 0.00e+00 5.91e-01 0.1 7.22e+00 - 7.18e-01
> 1.00e+00f 1
> 3 6.7127651e+01 0.00e+00 6.28e-07 -1.2 7.90e-01 - 1.00e+00
> 1.00e+00f 1
> 4 5.6437844e+01 0.00e+00 2.21e-03 -2.0 1.86e+00 - 1.00e+00 9
> .53e-01f 1
> 5 5.5727100e+01 0.00e+00 3.43e-03 -7.8 1.88e-01 - 9.91e-01 8
> .26e-01f 1
> 6 5.5643835e+01 0.00e+00 1.31e-02 -4.4 3.30e-02 - 1.00e+00 7
> .77e-01f 1
> 7 5.5629288e+01 0.00e+00 5.37e-03 -5.1 1.07e-02 - 1.00e+00 8
> .69e-01f 1
> 8 5.5626581e+01 0.00e+00 7.28e-05 -6.2 5.04e-03 - 1.00e+00 9
> .97e-01f 1
> 9 5.5626338e+01 0.00e+00 1.02e-12 -7.0 1.46e-03 - 1.00e+00
> 1.00e+00f 1
> iter objective inf_pr inf_du lg(mu) |d| lg(rg) alpha_du
> alpha_pr ls
> 10 5.5626323e+01 0.00e+00 5.13e-06 -11.9 2.14e-04 - 1.00e+00 9
> .95e-01f 1
> 11 5.5626323e+01 0.00e+00 6.58e-15 -13.7 5.83e-06 - 1.00e+00
> 1.00e+00h 1
> 12 5.5626323e+01 0.00e+00 4.52e-15 -17.0 2.89e-09 - 1.00e+00
> 1.00e+00h 1
> 13 5.5626323e+01 0.00e+00 5.75e-15 -17.3 1.36e-15 - 1.00e+00
> 1.00e+00 0
> 14 5.5626323e+01 5.02e-17 4.19e-15 -17.3 4.27e-16 - 1.00e+00
> 1.00e+00T 0
New description:
Dear all,
I observed, that MATLAB crashes when IPOPT converges very close or even
beyond the machine precision. I tried that both with the mex binaries
provided at the site version 3.11.8 and the mex files compiled manually
following the instructions for version 3.11.9. Both Matlab R2012b and
R2014a were tested. It seems that it is independent of any compilation
details and appears only when some of the several tolerances (it is not
clear which one) converges to or below machine precision. Below
I am running the examplelasso.m, where the tolerance was set to 1e-17 to
force the reproduction of the bug. At iteration 14 MATLAB crashes so we do
not see the iteration 15. The same thing happens for several different
examples when the tolerance is set close to machine epsilon.
{{{
This is Ipopt version 3.11.9, running with linear solver ma57.
Number of nonzeros in equality constraint Jacobian...: 0
Number of nonzeros in inequality constraint Jacobian.: 32
Number of nonzeros in Lagrangian Hessian.............: 36
Total number of variables............................: 16
variables with only lower bounds: 0
variables with lower and upper bounds: 0
variables with only upper bounds: 0
Total number of equality constraints.................: 0
Total number of inequality constraints...............: 16
inequality constraints with only lower bounds: 16
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) |d| lg(rg) alpha_du
alpha_pr ls
0 2.0362309e+03 0.00e+00 3.39e+01 0.0 0.00e+00 - 0.00e+00
0.00e+00 0
1 1.2058144e+03 0.00e+00 2.54e+01 -6.0 3.86e+00 - 2.12e-01 2
.56e-01f 1
2 7.1857478e+01 0.00e+00 5.91e-01 0.1 7.22e+00 - 7.18e-01
1.00e+00f 1
3 6.7127651e+01 0.00e+00 6.28e-07 -1.2 7.90e-01 - 1.00e+00
1.00e+00f 1
4 5.6437844e+01 0.00e+00 2.21e-03 -2.0 1.86e+00 - 1.00e+00 9
.53e-01f 1
5 5.5727100e+01 0.00e+00 3.43e-03 -7.8 1.88e-01 - 9.91e-01 8
.26e-01f 1
6 5.5643835e+01 0.00e+00 1.31e-02 -4.4 3.30e-02 - 1.00e+00 7
.77e-01f 1
7 5.5629288e+01 0.00e+00 5.37e-03 -5.1 1.07e-02 - 1.00e+00 8
.69e-01f 1
8 5.5626581e+01 0.00e+00 7.28e-05 -6.2 5.04e-03 - 1.00e+00 9
.97e-01f 1
9 5.5626338e+01 0.00e+00 1.02e-12 -7.0 1.46e-03 - 1.00e+00
1.00e+00f 1
iter objective inf_pr inf_du lg(mu) |d| lg(rg) alpha_du
alpha_pr ls
10 5.5626323e+01 0.00e+00 5.13e-06 -11.9 2.14e-04 - 1.00e+00 9
.95e-01f 1
11 5.5626323e+01 0.00e+00 6.58e-15 -13.7 5.83e-06 - 1.00e+00
1.00e+00h 1
12 5.5626323e+01 0.00e+00 4.52e-15 -17.0 2.89e-09 - 1.00e+00
1.00e+00h 1
13 5.5626323e+01 0.00e+00 5.75e-15 -17.3 1.36e-15 - 1.00e+00
1.00e+00 0
14 5.5626323e+01 5.02e-17 4.19e-15 -17.3 4.27e-16 - 1.00e+00
1.00e+00T 0
}}}
--
Comment:
Probably some mixup of gcc libraries and very hard to reproduce.
--
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/250#comment:5>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list