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

Failures from MINLPTests #34

Closed
odow opened this issue Oct 18, 2024 · 13 comments
Closed

Failures from MINLPTests #34

odow opened this issue Oct 18, 2024 · 13 comments
Assignees
Labels
bug Something isn't working

Comments

@odow
Copy link
Contributor

odow commented Oct 18, 2024

I'm running Uno over our standard test-set: jump-dev/AmplNLWriter.jl#190

I'll extract some reproducible examples of failures for you to investigate.

Actually, I think all these failures stem from the same problem. The first comment has the simplest reproducible example.

The error appears to be The inertia correction got unstable (delta_w > threshold)

@odow

This comment was marked as resolved.

@odow

This comment was marked as duplicate.

@odow

This comment was marked as duplicate.

@cvanaret cvanaret self-assigned this Oct 18, 2024
@cvanaret cvanaret added the bug Something isn't working label Oct 18, 2024
@cvanaret
Copy link
Owner

A quick comment on the first problem: I can solve the generated nl file on my machine, so I cannot explain the error yet.
That said, the nl file is incorrectly generated: it contains two variables and one constraint, instead of one variable (and one bound constraint if you interpret it correctly). Nonetheless, Uno can solve the original 1D problem as well.

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

JuMP interprets @constraint(model, x >= 2) as a linear constraint. Bounds are given as @variable(model, x >= 2).

I see only one variable in the NL file? Which part is wrong? I get so confused with nl files

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

I can solve the generated nl file on my machine

Is this some MUMPS version issue then? What version of MUMPS are you compiling with?

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

How do I turn on maximally verbose logs for you?

@cvanaret
Copy link
Owner

JuMP interprets @constraint(model, x >= 2) as a linear constraint. Bounds are given as @variable(model, x >= 2).
I see only one variable in the NL file? Which part is wrong? I get so confused with nl files

Ah! In this case, I see the dimensions of the problem reformulated by Uno and it had to introduce a slack variable. This is not great but at least expected. All good!

Is this some MUMPS version issue then? What version of MUMPS are you compiling with?

I'm using MUMPS 5.7.2.

How do I turn on maximally verbose logs for you?

That's a good idea. Pass the value DEBUG3 to the option logger. Thanks!

@odow

This comment was marked as resolved.

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

I'm not sure what changed. I'll re-run the MINLPTests.

@cvanaret
Copy link
Owner

Wonderful :)

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

Okay, I think I've figured this out: jump-dev/AmplNLWriter.jl#190 (comment)

The tests were using a slightly different version of MUMPS to the one we compiled with. We can fix this in the next build by adding strict compat bounds.

This is one issue with our approach of using shared libraries... Even though MUMPS v5.6 should be compatible with v5.7, the evidence clearly shows that it isn't...

@odow
Copy link
Contributor Author

odow commented Oct 20, 2024

Closing because this is fixed and was a mistake on my part. The issue was the difference in MUMPS version.

I've opened #38 and #39 with some of the remaining issues.

@odow odow closed this as completed Oct 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants