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

Check solutions #200

Open
glebbelov opened this issue Feb 17, 2023 · 1 comment
Open

Check solutions #200

glebbelov opened this issue Feb 17, 2023 · 1 comment
Assignees

Comments

@glebbelov
Copy link
Contributor

Perform solution checking. Both us and solvers can be buggy.

This would be a partial remedy for numerical issues as well, see ampl/escrow/issues/102.

@glebbelov glebbelov self-assigned this Feb 17, 2023
glebbelov added a commit that referenced this issue Apr 28, 2023
'option solution_round 6;' rounds solution values to 6 post-comma digits, helping to correctly evaluate if-then
glebbelov added a commit that referenced this issue Aug 22, 2023
glebbelov added a commit that referenced this issue Aug 22, 2023
glebbelov added a commit that referenced this issue Aug 23, 2023
Should be more portable

Start ComputeValue()'s for functional constraints #200
glebbelov added a commit that referenced this issue Aug 23, 2023
glebbelov added a commit that referenced this issue Aug 24, 2023
glebbelov added a commit that referenced this issue Aug 28, 2023
Currently 'unused' can be, e.g., abs(x) replaced by norm in a conic constraint
glebbelov added a commit that referenced this issue Aug 28, 2023
glebbelov added a commit that referenced this issue Aug 28, 2023
glebbelov added a commit that referenced this issue Aug 28, 2023
Currently only checks solver-side constraints by default
glebbelov added a commit that referenced this issue Aug 29, 2023
For continuous variables (and integer ones where round(x[i])!=k) apply tolerance
glebbelov added a commit that referenced this issue Aug 29, 2023
AMPL does not put them into environment actually
glebbelov added a commit that referenced this issue Aug 29, 2023
This comes close toAMPL's slacks computation
glebbelov added a commit that referenced this issue Aug 30, 2023
glebbelov added a commit that referenced this issue Aug 31, 2023
Disable idealistic check by default, 'experimental'
glebbelov added a commit that referenced this issue Aug 31, 2023
glebbelov added a commit that referenced this issue Aug 31, 2023
glebbelov added a commit that referenced this issue Sep 5, 2023
glebbelov added a commit that referenced this issue Sep 5, 2023
glebbelov added a commit that referenced this issue Sep 7, 2023
glebbelov added a commit that referenced this issue Sep 7, 2023
Expanation message for idealistic violations
glebbelov added a commit that referenced this issue Sep 7, 2023
glebbelov added a commit that referenced this issue Sep 19, 2023
We cannot AMPL's settings for solution_round and solution_precision, so need own options

Added Motivation section in docu (thanks Dave)
glebbelov added a commit that referenced this issue Oct 3, 2023
Move checking code into a mix-in class
glebbelov added a commit that referenced this issue Oct 3, 2023
glebbelov added a commit that referenced this issue Nov 8, 2023
glebbelov added a commit that referenced this issue Dec 20, 2023
glebbelov added a commit that referenced this issue Jan 9, 2024
glebbelov added a commit that referenced this issue Jan 10, 2024
glebbelov added a commit that referenced this issue Jan 15, 2024
Exclude low-level solver-side constraints
glebbelov added a commit that referenced this issue Jan 17, 2024
@glebbelov
Copy link
Contributor Author

glebbelov commented Apr 10, 2024

Why don't we report status solved? when Checker fails?

By default, warnings are issued in solve_message whenever:

  • solver model's constraints / objectives are violated;
  • NL model's objective is violated.

All these cases seem enough to return the solved? status, Checker uses code 150 --- but now this only happens with option chk:fail. A small disadvantage is that other code information is lost (time limit or numerical issues, for example.) But letting the user/script know about the issue might be important. We could even check the NL constraints by default as well. @4er4er4er @fdabrandao @marcos-dv what do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant