Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extends MA27 insufficient memory error catching #671

Conversation

danieloliveira56
Copy link
Contributor

Ipopt might exit without a message when MA27 memory allocation fails.

I believe Ipopt will return code -102 (Insufficient_Memory), but GAMS will convert that to solveStat 13. Then I believe there's no easy way to know what happened (would love to hear if there's a way). So would be helpful to see an error message.

Example GAMS output:

iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr  ls
  50  5.7126274e+01 1.09e-06 5.00e-08  -4.6 1.53e+02 -14.7 1.00e+00 1.00e+00h  1 F
  51  4.7042829e+01 6.12e-02 4.10e-03  -4.9 1.86e+04 -15.2 1.00e+00 1.00e+00h  1 S
  52  3.7594621e+01 1.41e-01 3.35e+00  -5.2 2.73e+04 -14.8 3.23e-01 1.00e+00h  1 S
  53  3.4020871e+01 1.39e-02 1.04e-03  -5.6 2.07e+04 -14.4 1.00e+00 1.00e+00h  1 
  54  3.6461406e+01 2.41e-04 5.14e-05  -5.3 2.71e+04 -14.8 1.00e+00 1.00e+00h  1 S
  55  3.3032774e+01 2.14e-05 8.50e-06  -5.6 1.39e+04 -14.4 1.00e+00 1.00e+00h  1 
  56  3.2520075e+01 3.22e-02 3.06e-02  -5.7 3.66e+04 -14.9 1.00e+00 8.91e-01h  1 S
--- Restarting execution

Thanks

@CLAassistant
Copy link

CLAassistant commented May 18, 2023

CLA assistant check
All committers have signed the CLA.

@danieloliveira56
Copy link
Contributor Author

The CLA was failing because the commit author was different than my profile e-mail.

@svigerske
Copy link
Member

I believe Ipopt will return code -102 (Insufficient_Memory), but GAMS will convert that to solveStat 13. Then I believe there's no easy way to know what happened (would love to hear if there's a way).

The model status in this case is actually 13 (error, no solution) and the solver status is 10 (solver error; maybe not the best choice). There is only one other case where you get this combination, which is the too-degrees-of-freedom situation.
Also there would be some message from Ipopt indicating that it ran out of memory (https://github.com/coin-or/Ipopt/blob/stable/3.14/src/Interfaces/IpIpoptApplication.cpp#L547).

The log looks as if the link just crashed, in which case you get both model and solve status 13. If you set GAMS solvelink option to 1, you may see another line from a shell saying why the process stopped. Maybe the OOM killer?

@svigerske svigerske merged commit bc0aae3 into coin-or:stable/3.14 Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants