-
Notifications
You must be signed in to change notification settings - Fork 526
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
Update PyROS Solver Logging System #2990
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look good to me! I like the improvements to logging.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #2990 +/- ##
==========================================
+ Coverage 87.87% 87.94% +0.07%
==========================================
Files 769 769
Lines 89522 89807 +285
==========================================
+ Hits 78668 78982 +314
+ Misses 10854 10825 -29
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Some comments, but nothing to prevent merging
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general comment that does not need to be addressed in this PR, but if PyROS
is ever graduated from contrib
to core
, I will strongly request the change from master
to more inclusive language (e.g., primary
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is going to be an inclusion suggestion: is it possible to change references of master
to something like primary
? master
is a prime example of noninclusive language.
Summary/Motivation:
There are a few areas of improvement for the current PyROS solver logging system:
progress_logger
argument to the PyROS solver is forced tologging.INFO
.This limits the extent to which the user can control the logging output. Moreover, the original level of
progress_logger
is not restored at termination.print()
statements.information about the iterates.
an intent to have subproblems serialized.
Additionally, in the event PyROS terminates with a
max_iter
status, then the number of iterations is currently overcounted by 1.Changes proposed in this PR:
ERROR-level messages in advance of exceptions raised by subsolvers or the coefficient matching routine.
WARNING-level messages on nonacceptable subproblem terminations, backup solver invocation, and bypassing of global separation
INFO-level messages for:
the user on the progress of the algorithm
HierarchicalTimer
)DEBUG-level messages on individual subproblem outcomes, and the realizations added to the master problem.
max_iter
status.ROSolveResults
setup at solver terminationTODOs
Preformatted
class for logging preformatted messages #2998 and use new API to pre-format PyROS solver log messagesLegal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: